Vous n'êtes pas connecté - Connexion ou Créer un compte

Classée dans Questions > Questions / Réponses

Rediriger une page en www vers sa version sans www et inversément avec Apache

Administrateur
Une annonce aurait pu être ici :'(

À l'heure où vous concevez un site Internet, il vous faut faire le choix du nom de domaine et si vous allez l'afficher avec ou sans les www. Ce choix est important afin d'éviter qu'une même page ne soit accessible par deux adresses différentes : une avec le www et une sans. Ceci s'appelle la duplication de contenu (duplicate content) et peut être pénalisant en terme de référencement : allant jusqu'à la suppression de votre site de l'index du moteur de recherche.

Afin d'éviter cela, il est possible de passer par des redirections HTTP via Apache2. Deux cas se présentent :

  1. la redirection de http://www.example.com vers http://example.com
  2. et l'inverse http://example.com vers http://www.example.com

Rediriger le nom de domaine sans www vers la version www

Dans le fichier .htaccess à la racine de votre site, à condition que la réécriture d'URL soit activée :

# Si non présent dans fichier .htaccess, ajouter
RewriteEngine On

# Redirection de non www vers www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Rediriger le www vers le nom de domaine sans www

Dans le fichier .htaccess à la racine de votre site, à condition que la réécriture d'URL soit activée :

# Si non présent dans fichier .htaccess, ajouter
RewriteEngine On

# Redirection de www vers non www
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

Il est également possible, si le site dispose de plusieurs noms de domaine d'en forcer un :

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

Attention avec HTTPS

Si votre site est disponible avec HTTPS, il est important d'effectuer des redirections vers ce protocole afin d'éviter, là aussi, la duplication de contenus.

Il n'est plus possible de répondre à cette question car elle marquée comme résolue.