Redirections permanentes

La redirection est une situation prévue par le protocole http. Autrement dit, quand on redirige une page, on ne bidouille pas pour que l'utilisatrice n'y voit que du feu, on utilise le mécanisme pensé et prévu à cet effet.

Lorsque le navigateur d'une internaute (ou un moteur de recherche) demande un page qui a été déplacée, il ne faut pas lui répondre avec la nouvelle page mais lui dire : “cette page a été déplacée, vous la trouverez à tel endroit”. Si le déplacement est définitif, on parle, en jargon technique, d'une “redirection 301”.

Directement par Apache

La technique la plus clean. Elle ne fait travailler que le serveur.

En utilisant la directive de redirection

L'usage des fichiers .htaccess et de la directive Redirect doivent être autorisés

  • Créer un fichier nommé .htaccess à la racine de l'arborescence de l'espace de publication d'origine
  • Y indiquer les redirections suivant les exemples suivants :

Si l'on déplace toute l'arborescence vers une nouvelle URL

Redirect 301 / http://www.my_new_url.org/

Si l'on ne déplace qu'une partie de l'arborescence

Redirect 301 /au_depart/ http://www.my_new_url.org/a_l_arrivee/

Si l'on ne déplace qu'une page

Redirect 301 /index.html http://www.my_new_url.org/index.php

On peut utiliser un éditeur de fichiers .htaccess en ligne.

En utilisant le module de réécriture d'URL

L'usage des fichiers .htaccess et de les directives Rewritexxxxx doivent être autorisés

Dans le fichier .htaccess se trouvant à la racine de l'espace d'hébergement, on ajoutera :

RewriteEngine On
rewritecond %{http_host} ^yoursite.com 
rewriteRule ^(.*) http://www.yoursite.com/$1 [R=301,L]

Redirection par programme

Beaucoup de cas possibles : PHP, Ruby, JSP Java, Pearl, ASP, .Net… Un article [en] en détaille quelques-unes.

Masquer la redirection en HTML (frames)

En HTML, il est impossible de faire une redirection. On ne peut que la simuler. Pour l'internaute, cela peut ne pas faire de différence. Pour la webmestre cela complique les choses. En matière de classement par les moteurs, cette technique ne permet pas de cumuler le classement de l'ancienne et de la nouvelle page.

Dans ces conditions, pourquoi indiquer cette technique ? Parce que si votre hébergeur vous interdit les fichiers .htaccess ainsi que la possibilité d'exécuter des programmes, c'est votre dernier recours.

En utilisant les frames

Les frames ont mauvaise presse, ce n'est pas une raison pour ne pas les utiliser ;-)

Le principe est le suivant :

  • déplacer les pages à leur nouvelle url
  • remplacer les pages se trouvant aux anciennes url par des pages de type frameset dont l'unique frame pointe vers les nouvelle url.

On doit donc assurer la maintenance de deux ensembles de pages. Les pages “réelles” qui se trouvent aux nouvelles url et les pages frameset qui les remplacent aux anciennes url.

Certains navigateurs peuvent refuser les frames et se rabattre sur

Ne pas utiliser

L'une des méthodes les plus utilisées pour traiter un problème de redirection est le recours à la balise html <meta>.

<meta http-equiv="refresh" content="0; url=http://www.my_new_site.com" />

C'est pourtant la pire ! D'une part, elle n'est raisonnablement applicable que si un nombre limité de fichiers sont déplacés. D'autre part, les moteurs de recherche désindexeront immédiatement l'ancienne page. Tout le bénéfice du classement sera perdu.

 
redirections.txt · Dernière modification: 2010/01/21 08:58 par flaz
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki