.htaccess 🚂 Rediriger un domaine vers un autre

Article Rediriger un tout un domaine vers un autre avec le fichier .htaccess par @wpr0ck
twitter-img / 1024 x 512
Article Rediriger un tout un domaine vers un autre avec le fichier .htaccess par @wpr0ck
twitter-link / 520 x 254
Article Rediriger un tout un domaine vers un autre avec le fichier .htaccess par @wpr0ck
facebook / 1200 x 630

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 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.

.htaccess : Redirection de tout un domaine vers un autre

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>

.htaccess : Redirection d'un domaine avec gestion des sous-domaines

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
Développeur expert WordPress
Julien MA Jacob - Développeur WordPress

Passionné par le web et la programmation. Je propose mes services de développeur pour vos sites WordPress

  Discussion autour de l'article
guest
1 Commentaire
Le plus populaire
Le plus récent Le plus ancien
Commentaires en ligne
Afficher tous les commentaires
Manuel

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 ;)