Aller au contenu

Sujets conseillés

Posté

Bonjour,

J'ai un site qui est actuellement en sous-nom de domaine (forme "site.domaine.com" avec "domaine.com" ne m'appartenant pas) que je veux passer à un nom de domaine ("nouveaudomaine.com", que j'ai réservé). Il n'y a pas de changement physique de serveur.

Je voudrais (bien évidemment) que le basculement se passe sans douleur, et donc que Google et les autres moteurs basculent sur le nouveau nom et oublient l'ancien, et que les visiteurs venant avec l'ancienne URL (ie: le sous nom de domaine) voient que l'adresse a changé.

La solution à laquelle j'ai pensé est :

- Faire pointer le nouveau nom de domaine vers le répertoire où se situe le site

- Faire pointer l'ancien sous-nom de domaine vers un nouveau répertoire qui ne contiendra qu'un .htaccess avec un redirect 301 global vers le nouveau site

Ca me semble valide (je n'ai pas testé encore...), mais je me demande si je suis vraiment obligé d'avoir deux répertoires distincts (qui reviennent à simuler un changement de serveur physique). Est-ce qu'en mettant tout simplement le redirect dans le répertoire ça fonctionnerait aussi ? Existe-t-il une meilleure solution ?

Merci pour tout commentaire / critique / etc.

Posté

Une réécriture conditionnelle... tout simplement.

Donc:

RewriteCond %{HTTP_HOST} anciendomaine.tld
RewriteRule /(.*) http://www.nouveaudomaine.tld/$1 [R=301,QSA,L]

Si le HOST est l'ancien domaine, on renvoie vers la même page sur le nouveau avec une entête 301 avec éventuellement le QUERY_STRING s'il existe.

Posté

Merci beaucoup, je vais mettre ça en place.

Il y a une précision que j'avais oublié de donner : le site en lui-même est en SPIP (1.7) utilisant l'url rewriting. Mettre ces deux lignes avant la partie réservée à SPIP dans le .htaccess ne plantera pas ces réécritures ? Faut-il que je rajoute une autre condition ?

Posté

Non, il suffit de mettre ces lignes tout au début... elles n'auront aucune influence sur les lignes suivantes parce que si le HOST est l'ancien domaine, la redirection externe aura lieu et les autres ne seront pas lues.

Dans le cas où la condition est fausse, la réécriture ne s'effectuera pas.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...