annuaire-info

Bien plus qu'un annuaire d'annuaires !

Redirection 302

La redirection 302 est définie dans le document RFC2616 qui dit qu' »une nouvelle adresse a été provisoirement allouée à la ressource demandée. Etant donné que cette redirection pourra être modifiée, l’utilisateur DEVRAIT continuer à utiliser l’adresse non-redirigée« .

Par exemple, une redirection 302 de http://www.exemple.com/ vers http://www.exemple.com/promotion-fetes/ indique que, bien que la page soit redirigée temporairement vers une page provisoire, l’adresse officielle à utiliser à l’avenir reste http://www.exemple.com/. La redirection 302 s’emploie pour des redirections temporaires.

Les navigateurs modernes suivent automatiquement ces redirections 302. Ils affichent également l’adresse temporaire de la redirection dans la barre d’adresse.

C’est cette même adresse pourtant provisoire que le navigateur enregistrera éventuellement dans la liste de favoris. Ceci n’est pas conforme à la norme RFC2616, mais, en pratique, cela ne semble pas poser problème.

Redirection 302 et moteurs de recherche

Quand une adresse répond par une redirection 302, le propriétaire de cette adresse demande au visiteur de suivre la redirection, mais il lui indique en même temps que cette redirection est provisoire et, par conséquent, il invite le visiteur à préférer l’adresse faisant la redirection à celle vers laquelle pointe la redirection. Le propriétaire de cette dernière adresse (vers laquelle pointe la redirection) , n’est pas nécessairement du même avis et il est fréquent qu’il ne souhaite pas que son contenu soit présenté comme appartenant à un autre site web (où se trouve la page faisant la redirection).

Ceci pose évidemment un problème pour les moteurs de recherche.

    Comment allouer le contenu à l’adresse appropriée ?

  • Si les deux adresses appartiennent au même domaine, on peut penser que la redirection 302 est faite avec l’accord de propriétaire de la page de destination. La redirection 302 peut donc être interprétée conformément à RFC2616 sans aucun problème.
     
  • Quand les adresses appartiennent à des domaines différents, Google et d’autres moteurs de recherche suivaient traditionnellement la norme RFC2616. Cela a provoqué de nombreux problèmes techniques, ainsi que des problèmes de droits d’auteur. Après des années de confusion, Yahoo et ensuite Google ont heureusement décidé d’abandonner l’interprétation rigide de RFC2616 et de ne plus attribuer « naïvement » le contenu d’une URL à un site externe qui faisait une redirection 302.
     
    Exception: quand une adresse longue redirige vers une adresse courte, Google donne parfois la préférence à l’adresse courte (plus conviviale que l’adresse longue), même si elle n’appartient pas au même domaine que l’adresse longue.

Quand utiliser une redirection 302

La redirection 302 ne doit s’utiliser que pour des redirections temporaires quand vous souhaitez que les moteurs de recherche associent le contenu affiché à l’adresse non redirigée. Dans les autres cas, utilisez la redirection 301.

Redirection 302 avec un fichier .htaccess

Si votre serveur permet l’utilisation d’un fichier .htaccess, plusieurs techniques sont disponibles pour définir une redirection 302:

  • redirection provisoire définie simplement

    « Redirect » et « Redirect 302 » sont des commandes équivalentes. Elles sont suivies du nom de fichier ou de répertoire à rediriger et de l’adresse de destination de la redirection.

  • redirection provisoire définie au moyen d’expressions régulières

    « RedirectMatch regex URL-destination » et « RewriteRule regex URL-destination [L,R] » permettent l’utilisation d’expressions régulières pour l’origine et la destination de la redirection.

Voici quelques exemples simples:

  • Rediriger une page

    Redirect /ancien-dossier/ancienne-adresse.html http://www.domaine.com/dossier-provisoire/fichier-provisoire.html

  • Rediriger tout un dossier (chaque page de l’ancien dossier est redirigée vers la page de même nom dans le nouveau dossier)

    Redirect /ancien-dossier http://www.domaine-temporaire.com/dossier-provisoire

  • Rediriger tout un site (chaque page de l’ancien site est redirigée vers la page de même nom dans le nouveau site)

    Redirect / http://www.domaine-temporaire.com/

Et deux exemples équivalents utilisant des expressions régulières:

  • Rediriger les adresses .html vers les adresses .php correspondantes

    RedirectMatch (.*)\.html$ http://www.domaine.com$1.php

    RewriteEngine on
    RewriteRule ^(.*)\.html$ http://www.domaine.com$1.php [L,R]

Redirection 302 par un script

On a vu que les expressions régulières dans le .htaccess permettait d’adapter la redirection à des besoins spécifiques. On peut aller encore plus loin en exécutant la redirection à l’intérieur d’un programme exécuté sur le serveur (PHP, Perl, ASP ou autre).

  • Exemple en PHP:
    <?php
    header(”Location: http://www.domaine-temporaire.com/dossier-provisoire/fichier-provisoire.html”);
    exit();
    ?>

Test d’une redirection 302

annuaire-info vous propose gratuitement son outil de test des redirections. Cet outil analyse l’en-tête HTTP et le contenu de la page pour identifier en quelques secondes les redirections 301, 302 et HTML (meta refresh).



4 commentaires à propos de “Redirection 302”

  1. Bonjour,

    Lorsque l’on parle de redirection temporaire, celle doit avoir une durée de combien environ ?

    Car temporaire peut signifier 1 heure, comme 1 semaine ou comme 1 an…

    Merci d’avnce pour votre réponse.

    Ecrit le 14 avril 2009 à 11h24 par Freeman

  2. Peu importe la durée ! C’est expliqué dans l’article: « La redirection 302 ne doit s’utiliser que pour des redirections temporaires quand vous souhaitez que les moteurs de recherche associent le contenu affiché à l’adresse non redirigée. »

    La durée n’a pas d’importance parce que quand un robot voit une redirection temporaire, il ne doit pas mémoriser que l’adresse est redirigée.

    Ecrit le 30 mai 2009 à 8h16 par Jean-Luc

  3. Quand on dit temporaire, c’est toi qui décide quand elle s’arrête : si tu supprime le .htaccess, la redirection s’arrête, tout simplement.

    C’est pratique pour les grosses mises à jours de site 😀

    Ecrit le 14 août 2009 à 16h57 par vlmath

  4. Merci beaucoup pour votre article

    Ecrit le 9 janvier 2010 à 7h45 par Mohamed

Ajout de commentaire