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”.
La technique la plus clean. Elle ne fait travailler que le serveur.
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
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]
Beaucoup de cas possibles : PHP, Ruby, JSP Java, Pearl, ASP, .Net… Un article [en] en détaille quelques-unes.
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.
Les frames ont mauvaise presse, ce n'est pas une raison pour ne pas les utiliser
Le principe est le suivant :
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
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.