Il est toujours désagréable de tomber sur une URL redirigée vers la page d’accueil d’un second site. Encore plus lorsqu’il s’agit d’un changement de nom de domaine. Ce billet fait suite à plusieurs demandes d’explication de certains lecteurs du blog, voici une solution simple à mettre en œuvre avec un .htaccess.

Principe
La meilleure façon de rediriger un visiteur d’une ancienne adresse vers une nouvelle est l’utilisation des en-têtes (headers), avec un serveur Apache (le plus répandu).
Plutôt que de rediriger toutes les pages de l’ancienne URL vers une seule et unique adresse (la nouvelle URL), il est plus logique de rediriger le visiteur vers la page à laquelle il s’attendait mais sur le nouveau domaine. Vous ne comprenez rien ? Voyons un exemple qui sera j’espère plus parlant.
Au lieu de faire ça :
http://www.anciensite.com/ma-page.php => http://www.site.com/
Nous allons faire :
http://www.anciensite.com/ma-page.php => http://www.site.com/ma-page.php
L’intérêt est double : le visiteur n’est pas perdu et comprend que le site a changé de nom ou d’adresse (redirection transparente), aucune perte de votre référencement (SEO) puisque les moteurs mettront à jour leurs index avec le nouveau domaine (redirection permanente 301), bien que cela peut prendre plusieurs semaines voir mois.
C’est cette méthode que j’ai utilisée lorsque Xhark.fr.nf devenait Blogmotion.fr.
En pratique
C’est une technique extrêmement simple à mettre en place, à tel point que cela risque de vous décevoir.
Créer un fichier .htaccess à la racine de votre ancien domaine, au même niveau que le fichier wp-config.php si vous utilisez WordPress et ajouter la ligne suivante :
RedirectPermanent / http://site.com/
Le premier « / » correspond au chemin absolu de l’ancien contenu. Admettons votre ancien domaine http://www.anciensite.com/blog/ et votre nouveau domaine sans le chemin « /blog », voici comment il faut procéder :
RedirectPermanent /blog http://site.com/
Conclusion
Les possibilités sont multiples et infinies. Vous pouvez même utiliser cette technique sur un même domaine qui change de chemin (attention à ne pas boucler !).
Vous pouvez vérifier le fonctionnement de la résolution avec un lecteur d’en-têtes qui devrait vous retourner quelque chose comme :
HTTP/1.1 301 Moved Permanently Date: Sun, 04 Apr 2010 21:02:41 GMT Server: Apache/1.x.x Location: http://blogmotion.fr/test Vary: Accept-Encoding Content-Length: 340 Connection: close Content-Type: text/html; charset=iso-8859-1
Pensez à renommer le fichier .htaccess sur le serveur FTP s’il contient des caractères avant le « . ». C’est le cas sous Windows si vous utilisez le bloc-notes traditionnel qui refuse qu’aucun nom ne soit présent devant l’extension (sauf si vous entourez le nom de guillemets « .htaccess » ou alors utilisez Notepad++).
Note : vous pouvez tout à fait supprimer toutes les données de votre ancien site si vous le souhaitez, le fichier .htaccess se chargeant de tout rediriger vers le nouveau (même si le contenu est absent).
Auteur : Mr Xhark
Fondateur du blog et passionné par les technologies je partage mes découvertes quotidiennement.










Déjà 24 commentaires
dit :
4 avril 2010 à 23h40
Excellent tuto que j’ai cherché à l’époque quand je suis passé du serveur gratuit au serveur payant d’espace gratuit en changeant de nom de domaine.
Merci
4 avril 2010 à 23h44
@ZePhyR : personnellement je me sers de cette astuce relativement souvent, il faut effectivement la connaître. Je viens d’aller sur ton blog, sympa !
dit :
4 avril 2010 à 23h52
Et au niveau des headers, ça fonctionne comment. Car si je veux utiliser l’espace libre de mon ancien hébergement en stockage, avec la méthode htaccess, j’aurais une redirection de mes documents quand je voudrais y accéder^^
5 avril 2010 à 0h37
@Rbeuque74 : je te conseille idéalement de créer un sous domaine du style static.anciensite.com tu seras moins gêné. Sinon je tu peux faire une exclusion (via une règle de ré-écriture), si tu es intéressé dis-le moi je te retrouve un exemple que j’utilisais
dit :
5 avril 2010 à 8h20
Bien ce qui me semblait, avec blogger je peux pas appliquer çà
Je vais laisser comme c’est finalement :s
dit :
5 avril 2010 à 11h05
@Mr Xhark Si t’as un exemple, je suis quand même preneur parce que j’ai pas la possibilité de créer un nom de domaine static ^^
dit :
5 avril 2010 à 13h53
@Fox 15
Bien sûr que tu peux appliquer ça avec Blogger !
Mais comme c’est Blogger qui contrôle les DNS du « sous-domaine » tu auras des pages introuvables partout !!
(Est ce que j’ai râlé ici !!! )
6 avril 2010 à 0h14
[...] Blogmotion : Changer de domaine sans perdre ses liens et son référencement. [...]
dit :
6 avril 2010 à 11h46
Merci de la manip.
Si quelqu’un a la même chose pour un transfert sans bobos de dotclear 1 à wordpress, je suis preneur.
J’avais tenté la manip il y a quelques temps, mais vu le désastre, j’avais fait machine arrière.
dit :
8 avril 2010 à 8h37
Bonjour,
Vu que tu as l’air calé sur la redirection, j’aimerais savoir si c’est possible de rediriger une catégorie (d’un blog WordPress) vers une page ?
Merci
Si je me suis mal fait comprendre, dis moi le
8 avril 2010 à 10h57
@FulliPhone : oui c’est possible, il suffit de placer une règle de ré-écriture avant celles de WordPress. Mais quel est ton but initial ? (ce n’est peut-être pas la meilleure solution, suivant le type de redirection que tu veux faire car tu peux aussi intégrer du php dans ton template).
dit :
8 avril 2010 à 11h44
En fait, j’aimerai que ma catégorie « ipa » (que tu vois dans ma colonne de droite) soit redirigée vers ma page « …/ipa-par-ordre-alphabetique » (je mets pas le lien entier mais tu as compris
)
Merci
8 avril 2010 à 12h13
@Fulliphone : ta page de destination est-elle dans la catégorie en question (est-ce un billet ou une page), donne moi l’url complète ?
dit :
8 avril 2010 à 12h49
C’est une page et en fait j’aimerai rediriger :
http://fulliphone.net/category/ipa/
vers
http://fulliphone.net/ipa-par-ordre-alphabetique/
Merci
8 avril 2010 à 13h43
Tente un :
RedirectPermanent /ipa/index.php http://fulliphone.net/ipa-par-ordre-alphabetique/
Sinon je te file autre chose ce soir
dit :
8 avril 2010 à 14h24
En fait, c’était pas tout à fait ça mais tu m’as bien éclairé. Voilà ce que j’ai mis pour réussir mon petit tour de passe passe :
RedirectPermanent /category/ipa/ http://fulliphone.net/ipa-par-ordre-alphabetique/
Merci pour tout
P.S : je me demandais un truc là, niveau référencement ou « Duplicate Content », ça craint rien ?
8 avril 2010 à 14h45
@FulliPhone : non, mais par contre on ne peut plus parcourir ta catégorie donc veille à ne donner aucune URL vers celle-ci
note : j’avais oublié un bout de ton url dans mon code
dit :
8 avril 2010 à 14h56
Ok, c’est tout bon. Un grand merci à toi
8 avril 2010 à 22h40
@FulliPhone : avec plaisir
14 mai 2010 à 17h53
J’ai un domaine http://jvitogo.org contenant les fichiers du site avec une page index.php qui appelle les autres pages de la manière suivante : index.php?page=accueil par exemple.
J’ai créé un autre fichier index.php dont le contenu est différent de l’ancien fichier index.php. Alors il faut changer l’ancien fichier index.php en index1.php qui appellera les autres pages qui n’ont subi aucune modification de la manière suivante : index1.php?page=accueil.
Etant donné que les moteurs de recherche ont déjà référencé l’ancien fichier index.php?page=accueil, comment intégrer le nouveau fichier index1.php?page=accueil sans perdre mon référencement.
Merci.
dit :
9 juillet 2010 à 21h54
Et si l’ancien hébergeur (qui était gratuit) avec un sous domaine en guise de NDD pour le site est down et donc on n’a plus accès au serveur de celui-ci, comment on redirige les fichiers vers le nouveau domaine sachant que juste l’URL change ?
9 juillet 2010 à 22h15
@PSP : alors tu ne peux rien faire, seulement attendre que Google t’indexe à nouveau…
dit :
9 juillet 2010 à 22h21
@Mr Xhark : En fait ça fait plus d’un an que je me pose cette question et comme j’ai retrouvé ton article dans mes favoris je me suis dit pourquoi pas lui demander vu que je ne trouve pas ma réponse.
En fait pour être précis, je veux juste rediriger les images qui utilisent themespsp.e3b.org (donc vieux NDD) dans mes articles vers themespsp.fr … Fin bon en utilisant la fonction capital_P_dangit de wordpress ça fonctionne vu que je remplace l’ancien NDD par le nouveau mais bon on sait jamais, si tu aurais eu une solution plus « propre »
7 janvier 2011 à 14h14
Bonjour,
Effectivement je cherchais une solution pour que sur mon mon domaine soit redirigé automatiquement vers les www.
En plus si c’est simple à mettre en oeuvre, je ne suis pas déçu !