Skip to content
All writing

Rediriger sans-www vers www (et vice-versa) avec Apache htaccess

Uniformiser vos URL avec une redirection 301 www / sans-www via .htaccess pour éviter le contenu dupliqué dans Google et les autres moteurs de recherche.

#articleswordpressserverapacheseo

Si www.monsite.com et monsite.com affichent tous les deux la même page, Google voit deux pages. Les liens qui pointent vers votre site se divisent entre les deux. Une redirection 301 règle ça : une seule version, tout le référencement au même endroit.

Pas certain d'être sur Apache ? Demandez à votre hébergeur. Cloudflare, cPanel et Nginx ont aussi leur propre façon de faire.

Trouver le fichier .htaccess

Il est à la racine du site, souvent dans public_html ou htdocs. Avec WordPress, il est à côté de wp-admin et wp-config.php.

Le nom commence par un point : c'est un fichier caché. Dans FileZilla ou Transmit, activez l'affichage des fichiers cachés. S'il n'existe pas, créez-le.

Rediriger www vers sans-www

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Rediriger sans-www vers www

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Les deux exemples supposent que votre site est en https.

Avec WordPress

Placez les lignes au-dessus de # BEGIN WordPress, jamais entre les marqueurs. WordPress réécrit tout ce qui se trouve entre # BEGIN et # END quand vous enregistrez les permaliens, et vos règles disparaîtraient.

Vérifiez aussi que l'adresse dans Réglages → Général utilise la même version (avec ou sans www), sinon WordPress et Apache vont se renvoyer la balle.

Tester

Ouvrez les deux versions de l'adresse. Les deux doivent finir sur la même URL. Pour voir la 301 directement :

curl -sI https://monsite.com | grep -i location

Get new posts by email

New writing in your inbox. Unsubscribe anytime.