Rediriger un domaine vers un autre avec le .htaccess

Twitter
LinkedIn
Facebook
Mail

Vous possédez plusieurs noms de domaine pour un même site ? Voici une méthode simple pour rediriger tous vos noms de domaine secondaires vers un nom de domaine principale en utilisant le fichier .htaccess.

Les codes présents dans cet article sont à placer dans le fichier nommé .htaccess à la racine racine de tous les sites secondaires qui doivent effectuer la redirection. Pensez à bien adapter ce code avec vos informations : protocole (http ou https) et nom de domaine.

 

 

Redirection de tout un domaine vers un autre // .htaccess

Ce premier code permet de rediriger toutes les URL vers notre domaine principal, ici https://newdomain.com en conservant le chemin, mais pas le sous-domaine. C’est à dire que les URL avec un sous-domaine comme www.olddomaine.com/chemin et celles sans sous domaine comme olddomaine.com/chemin seront redirigées vers https://newdomaine.com/chemin. Si l’on ne souhaite pas conserver le chemin dans l’URL de destination, il suffit de supprimer $1.

<IfModule mod_rewrite.c>
   # Redirect all URL to https://newdomaine.com/$1
   RewriteEngine On
   RewriteRule (.*)$ https://newdomain.com/$1 [R=301,L]
</IfModule>

 

 

Redirection d’un domaine avec gestion des sous-domaines // .htaccess

Si l’on souhaite une redirection plus précise des sous-domaines, c’est le code suivant qu’il nous faudra utiliser. Ici, toutes les URL ayant le sous domaine subdomain1 (de la forme subdomaine1.olddomain.com/chemin) seront redirigées vers subdomaine1.newdomain.com/chemin, de même pour le sous-domaine subdomain2. Toutes les autres formes d’URL seront redirigées vers https://newdomain.com/ (ce qui aura pour effet de rediriger les URL de la forme olddomaine.com/chemin et www.olddomaine.com/chemin vers https://newdomaine.com/chemin).

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Redirect subdomaine1.olddomain.com/* to https://subdomaine1.newdomaine.com/$1
    RewriteCond %{HTTP_HOST} ^subdomaine1.olddomain.com$
    RewriteRule (.*)$ http://subdomaine1.newdomain.com/$1 [R=301,L]

    # Redirect subdomaine2.olddomain.com/* to https://subdomaine2.newdomaine.com/$1
    RewriteCond %{HTTP_HOST} ^subdomaine2.olddomain.com$
    RewriteRule (.*)$ http://subdomaine2.newdomain.com/$1 [R=301,L]

    # Redirect all another to https://newdomaine.com/$1
    RewriteRule (.*)$ https://newdomain.com/$1 [R=301,L]

</IfModule>

 

Julien MA Jacob
Développeur WordPress
Julien MA Jacob
Passionné par le web et la programmation avec toujours plein de projets en tête
  Hey ! Ces articles aussi devraient vous plaire
  Discussion autour de l'article
    Manuel dit :

    Bonjour, Merci pour ce tuto, C’est étrange car après la modification dans la htaccess la redirection fonctionne que pour le nom de domaine. Avez-vous une idée de pourquoi ? Merci à vous 😉

Laisser un commentaire

(Votre adresse mail ne sera pas publiée.)