Changer d'URL sans perdre son référencement

Il arrive parfois que l'on soit obliger de changer d'hébergeur… et évidemment, cela modifie aussi l'adresse de notre site…
Lors d'un changement d'adresse, il est possible d'effectuer une redirection.
Dans le cas d'un déménagement permanent, il est de bon aloi de pensé à utiliser la redirection de type 301 “301 Moved Permanently”.
Dans cet article, on part du principe que vous disposez de php et d'apache (sur votre ancien hébergement).
Votre ancien hébergement/domaine sera nommé “www.old.com
Votre nouveau hébergement/domaine sera nommé “www.new.com

301 Moved Permanently

En PHP

Après avoir déplacé vos fichiers de www.old.com vers www.new.com, effacer le contenu de www.old.com et placer-y un nouveau fichier index.php :

php
<?php
	header("Status: 301 Moved Permanently", false, 301);
	header("Location: http://www.new.com/"); //remplacer ici par votre nouveau domaine.
?>

Ceci à pour effet de rediriger les utilisateurs et les moteur de recherches vers votre nouvelle adresse lorsqu'ils appellent votre ancienne adresse.

Le fait de préciser le status 301 indique aux moteurs de recherche que la page a définitivement changé d'adresse. Ainsi les index des différents moteurs seront actualisés.

A présent, les utilisateurs tapant www.old.com seront redirigés vers www.new.com
Mais que ce passe-t-il s'ils tapent www.old.com/autrepage.php ?
Pour l'instant rien. Mais nous allons arranger ça.

Creez un fichier nommé ”.htaccess” (il commence par un point) et placez-y la ligne suivante :

apache
ErrorDocument 404 /404.php

Puis déposez ce fichier sur www.old.com.
Ceci indique a votre ancien serveur web que lorsqu'une page est introuvable, au lieu d'afficher l'erreur 404 par défaut, il va afficher la page 404.php
Nous allons donc créer une page 404.php qui va renvoyer les utilisateurs vers votre nouveau site :

php
<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.new.com/".$_SERVER['REQUEST_URI']);	
?>

Cette page est quasiment identique a index.php à l'exception de $_SERVER['REQUEST_URI'] qui est ajouter à l'url. Cela permet de rediriger les utilisateurs non pas vers l'index de votre nouveau site, mais directement vers la page demandé sur votre nouveau site.

.htaccess, modifier le comportement d'apache

Une autre méthode pour effectuer ce genre de redirection est la modification du comportement d'apache avec un fichier .htaccess.
On place dans celui-ci les informations qui vont permettrent à apache d'effectuer la redirection.
Sur www.old.com, créez un fichier nommé .htaccess (le nom commence par un point) placez-y le code suivant :

apache
RedirecPermanent /  http://www.new.com/

Ainsi toutes les pages appelées sur www.old.com seront redirigées vers www.new.com

RedirecPermanent ne marche pas ?

Parfois, certain hébergeur ne permettent pas d'utiliser RedirecPermanent. Dans ce cas, il existe une autre solution qui fait la même chose :

apache
RewriteEngine on
RewriteRule .* http://www.new.com/$1 [R=301,QSA,L]


18/07/2006 13:09 -

iDo –