> Rediriger vers une autre page de façon permanente (header 301)Il est utile de pouvoir rediriger une page d'un site web vers une autre page. Par exemple quand l'adresse url a été modifiée, ou quand une page est supprimée et que l'on veut éviter d'envoyer les visiteurs vers une page d'erreur. On peut certes modifier les liens sur son site, mais agir sur les sites exterieurs ayant fait un lien vers l'ancienne url est compliqué. Dans la plupart des cas, les moteurs on de plus déjà indexés l'ancienne url.
On peut rediriger très facilement en php vers une autre page avec la fonction header(), par exemple dans le code de l'ancienne page :
header("location : http://www.monsite.com/manouvellepage.php");
exit();
Mais par défaut, l'entête http est 302 (page trouvée), il faut donc en plus forcer l'entête avec le code 301 (redirection permanente) avec :
header("location: http://www.monsite.com/manouvellepage.php", TRUE, 301);
exit();
Le navigateur cherche la nouvelle page, et dans le cas d'un robot de moteur de recherche, note l'information et quelques jours plus tard, l'ancienne page apparaitra avec la bonne url, en conservant son référencement et son PR (à peu près).
Autre possibilité, utiliser un fichier .htaccess et modrewrite en indiquant le header 301 de redirection permanente :
RewriteEngine on
RewriteRule anciennePage.htm$ /nouvellePage.htm [L,R=301]
retour