Changement des URL de type suous-domaine à type sans sous-domaine

Posted on février 7 2010 by Andrea D'Agostino

Aujourd’hui je m’occupe de réécrire les URL du site pour passer d’un format de réécriture en sous domaine vers un format dossier.
Ancien URL rewrite:

http://CATEGORIE_1.domaine.com

Nouveau format:

http://domaine.com/CATEGORIE-1

Suite à quelques recherches sur le net il semblerait que le premier format pose quelques soucis au référencement:
1) L’utilisation d’un sous domaine est moins performante que le format sans sous-domaine car cela est interprété comme étant dehors du domaine principal. Ce problème est visible à l’utilisation d’un compte webmaster chez google.
IL est de bonne pratique de choisir un format unique pour toutes les pages du site: avec www ou sans www.
Dans le cas d’une réécriture en sous domaine nous sommes obligés d’utiliser une wildcard (*) dans nos DNS pour pouvoir faire marcher correctement ce type d’URL. Cela complique donc la redirection vers un format avec www.
2) Underscore ou trait d’union? Dans ce cas aussi il semblerait que l’underscore n’est pas interprété comme étant un espace. L’URL sera donc mois performant pour les recherches.

Voici la méthode que j’ai utilisée pour changer les URL et rediriger en 301 les anciens:

Dans mon htaccess:

RewriteRule ^(..)/(.*) /%1/$1/$2 [R=301,L]
RewriteRule ^(..)/(.*) redirect301.php?sousdom=%1&var1=$1&var2=$2 [QSA,L]

Dans mon php:

$newurl=str_replace(« _ », »- »,$_GET["sousdom"]). »/ ».$_GET["var1"]. »/ ».$_GET["var2"];
header(‘HTTP/1.1 301 Moved Permanently’, false, 301);
header(‘Location: http://www.domaine.com/’.$newurl);
exit();

Leave a Reply