PDF Imprimer Envoyer

Forcer le www (ou l'absence de www)

Un site est souvent accessible à la fois par l'adresse : http://mon_site.com et par http://www.mon_site.com. Il est donc possible aux autres webmasters de faire des liens vers les deux adresses. Le problème est le suivant : les algorithmes de référencement vont croire qu'il s'agit de deux pages différentes. Vous avez donc tout intérêt à rediriger vos pages vers un et un seul type d'adresse, soit sans www soit avec. De plus cela caractérise mieux l'identité de votre site d'avoir une adresse "fixe".

Dans cet exemple nous allons voir comment forcer le serveur à n'afficher qu'un seul type d'adresse, et à faire une redirection 301 vers ce type sinon. Nous allons forcer le www.

Ce code est à placer dans le fichier .htaccess. Si vous arrivez sur cette page par un moteur de recherche et que vous n'êtes pas familier avec la ré-écriture d'URL, je vous conseille de consulter l'article d'introduction à l'URL Rewriting .

Forcer le www :

<IfModule mod_rewrite.c>
   Options +FollowSymLinks
   Options +Indexes
   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTP_HOST} ^votre_site\.com$
   RewriteRule ^(.*)$ http://www.votre_site.com/$1 [R=301,L]
<
/IfModule>

 

L'encapsuleur  <IfModule mod_rewrite.c> nous permet d'utiliser les instructions uniquement si mod-rewrite est activé sur votre serveur.Les trois premières lignes sont classiques et sont documentées dans l'article d'introduction. On permet juste au .htaccess de lancer le module de réécriture.

On utilise d'abord une RewriteCond pour vérifier que le nom d'hôte demandé est bien votre_site.com (sans le www). On renvoie alors vers les pages en www avec une redirection 301 pour améliorer le référencement. On utilise l'expression rationnelle .* pour récupérer l'ensemble de l'adresse demandée.

Forcer l'adresse sans www :

Dans le cas où vous désirez ne pas afficher le www vous pouvez utiliser le code suivant :

< IfModule mod_rewrite.c>
   Options +FollowSymLinks
   Options +Indexes
   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTP_HOST} ^www\.votre_site\.com$
   RewriteRule ^(.*)$ http://votre_site.com/$1 [R=301,L]
<
/IfModule>
Mise à jour le Dimanche, 07 Décembre 2008 09:44
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir