Redirection de tous les domaines associés à un site vers le domaine principal

vendredi 11 octobre 2019

Très souvent, plusieurs noms de domaine sont associés à un site internet. Cet article indique la modification à effectuer dans le fichier ".htaccess" pour rediriger tous les noms de domaines associés vers votre nom de domaine principal.

Redirection vers le nom de domaine principal

Lorsque votre plusieurs noms de domaine sont associés à votre site, il est extrêmement important qu'une même page ne puisse pas être consulté en utilisant plusieurs noms de domaine. En effet, cela pénaliserait votre site d'un point de vue référencement à cause de contenus dupliqués (duplicate content).

Pour éviter ces pénalités SEO, vous devez mettre en place des redirections 301 (redirections permanentes) de tous les noms de domaine secondaires vers le nom de domaine principal de votre site.

Prenons un exemple :

Les noms de domaines "domain1.com", "domain2.com" et "domain3.com" sont associés à votre site.

Vous souhaitez que votre site réponde exclusivement avec le nom de domaine "domain1.com" : https://www.domain1.com

Vous devez modifier le fichier ".htaccess" de votre site pour y ajouter, en début de fichier, les lignes suivantes :

#Redirection vers le nom de domaine principal
<IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTPS} !=on [NC,OR]
        RewriteCond %{HTTP_HOST} !^www\.domain1\.com [NC]
        RewriteRule ^(.*) https://www.domain1.com/$1 [R=301,L]
</IfModule>

Un peu d'explication sur ces lignes :

  • RewriteEngine On : On active la réécriture d'URL
  • RewriteCond %{HTTPS} !=on : On vérifie que l'URL appelée n'utilise pas de HTTPS
  • RewriteCond %{HTTP_HOST} !^www\.domain1\.com : On vérifie que le nom de domaine utilisé n'est pas déjà le nom de domaine principal
  • [NC,OR] : Cette instruction permet la combinaison des deux lignes de conditions avec un "Ou" logique. Ainsi, si l'une des conditions est vraie, la redirection sera effectuée.
  • RewriteRule ^(.*) https://www.domain1.com$1 [R=301,L] : On fait une redirection 301 de toutes les URLs correspondant aux conditions vers notre nom de domaine principal

Si votre site ne dispose pas de certificat SSL (fortement déconseillé), vous devez simplement supprimer la première condition vérifiant l'utilisation du HTTPS :

#Redirection vers le nom de domaine principal
<IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTP_HOST} !^www\.domain1\.com [NC]
        RewriteRule ^(.*) http://www.domain1.com/$1 [R=301,L]
</IfModule>

Besoin d'aide ? Digitalux peut optimiser le comportement de votre site internet.