Aller au contenu

Redirection d'un répertoire sous ancien domaine vers nouveau domaine


Sujets conseillés

Bonjour,

 

Je viens de changer de serveur et j'ai déjà configuré les accès aux nouveaux répertoires où sont stockées les pages web et autres fichiers.

Ne connaissant pas bien les diverses possibilités de htaccess, je souhaite savoir comment faire pour que les moteurs mettent à jour les référencements et ce qui va avec.
 

Par exemple, j'avais deux sites accessibles depuis le même domaine:

- Site 1: www.site1.com

- Site 2: www.site1.com/site2

 

Maintenant, je veux faire plus transparent avec deux domaines séparés: www.site1.com et www.site2.com
 

En plus des référencements dans les moteurs de recherche, il y a les liens sur les pages web et forums qui vont évidemment rester. Comme ces liens pointent vers www.site1.com/site2, j'ai conservé l'ancien répertoire www.site1.com/site2 dans lequel il y a les anciennes pages web, mais et ne contenant plus qu'un simple texte comme "Veuillez mettre à jour les signets" avec la nouvelle adresse www.site2.com à cliquer. Ainsi, la page www.site1.com/site2/unepage.htm dira d'aller sur www.site2.com/unepage.htm .

Je ne fais pas de redirection automatique après un délai afin qu'ils puissent prendre le temps de faire le nécessaire.

 

Je précise que que j'ai déjà changé de serveur et fait pointer les deux domaines vers le répertoires appropriés.

Je souhaite savoir quel code mettre dans htaccess pour que les moteurs mettent à jour les référencements de www.site1.com/site2 vers www.site2.com
 

Qu'en pensez-vous ? Merci par avance de vos lumières.

 

Lien vers le commentaire
Partager sur d’autres sites

il y a 38 minutes, wintr a dit :

j'ai conservé l'ancien répertoire www.site1.com/site2 dans lequel il y a les anciennes pages web, mais et ne contenant plus qu'un simple texte comme "Veuillez mettre à jour les signets" avec la nouvelle adresse www.site2.com à cliquer

Si tu conserves ce répertoire, tu ne pourras pas mettre en place une redirection 301 permettant aux moteurs de mettre leurs bases à jour avec les nouvelles URLs.

Je te suggère ces deux articles, pour y voir plus clair :

https://www.webmaster-hub.com/publications/le-fichier-htaccess/

https://www.webmaster-hub.com/publications/mod_rewrite-ou-la-reecriture-des-url-a-la-volee/

 

Lien vers le commentaire
Partager sur d’autres sites

Merci !

Je suppose que pour rediriger ceux qui cliquent sur un lien pointant sur l'ancien site, on utilise une redirection commune 404 vers une unique page qui dit qu'on a bougé sur www.site2.com ?

 

Dans ce cas je présume que le htaccess se situe à la racine (le répertoire site2 n'existant plus dans site1 pour la raison que vous évoquez).

 

J'utilise un serveur mutualisé dont la racine est /www

Le domaine www.site1.com pointe sur /www/site1

Le domaine www.site2.com pointe sur /www/site2

On peut mettre des fichiers sur la racine / mais le côté visible est /www .

 

Je pense donc à ces deux lignes:

ErrorDocument  404 /site2/URLwarning.htm (ou /www/site2/URLwarning.htm ?)
RedirectPermanent /site1/site2 http://www.site2.com/ (ou /www/site1/site2 http://www.site2.com/ ?)

 

Modifié par wintr
Lien vers le commentaire
Partager sur d’autres sites

Si la structure de tes pages reste la même entre l'ancien et le nouveau site2, il suffit simplement de mettre ceci dans de fichier .htaccess de l'ancien répertoire site2

RedirectPermanent / http://www.site2.tld/

Ou bien

RewriteEngine On
RewriteRule  /?(.*) http://www.site2.tld/$1  [R=301, QSA, L]

 

Lien vers le commentaire
Partager sur d’autres sites

Effectivement les pages restent les mêmes.

Y a-t-il un avantage / inconvénient à utiliser RedirectPermanent ou Rewrite ?

Afin de gérer les 404 pour ceux qui cliqueront sur les liens pointant sur l'ancien site dont les pages html n'existeront plus dans l'ancien répertoire, j'ajouterai cette ligne:

ErrorDocument 404 http://www.site2.com/URLwarning.htm

Encore merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Personnellement je préfère utiliser le RewriteRule, parce qu'il est plus souple à l'usage que le RedirectPermanent et on peut  peaufiner les règles, ajouter des conditions, gérer des exceptions avec une ligne "RewriteCond" ..

 

 

Lien vers le commentaire
Partager sur d’autres sites

J'ai une erreur 500.

Les pages sont inchangées: au lieu de se trouver dans http://www.site1.com/site2 elles sont sur http://www.site2.com

En conséquent, la page http://www.site1.com/site2/maPage.htm doit devenir http://www.site2.com/maPage.htm

J'ai trouvé un simulateur htaccess pour tester des modifs sur la syntaxe mais j'ai toujours une erreur "This rule was not met".

Lien vers le commentaire
Partager sur d’autres sites

Avec le contenu de ton fichier .htaccess, on verrait plus clair ;)

Il est bien sauvegardé au format texte... pas un format word ou autre ?

 

Et avec tes noms de domaines au lieu de site1 et site2 , ce serait plus évident aussi !

 

Lien vers le commentaire
Partager sur d’autres sites

Le fichier est bien au format texte, il contient ton code (reproduit plus bas) avec le nom du site adapté.

Je précise que je suis un ancien ingé dev (j'ai arrêté en 2002), et que j'ai grandi entre le Basic, l'assembleur et l'électronique (je prenais déjà des cours de programmation en primaire et débutais l'assembleur au lycée). :)

J'ai même touché au mode protégé et au micro-code durant ma dernière année d'études.

Pour faire joujou, je me suis amusé l'été dernier à reloger un interpréteur Basic M6800 (1976) prévu pour chargement et exécution en RAM afin de marcher en ROM. Le bougre contient en plus des instructions auto-modifiables: sympa pour la ROM !!!

 

Bref ! Le fichier .htaccess est précisément ce qui est indiqué plus haut mais avec l'URL adaptée.

Le fait de dire site1 et site2 n'a pas vocation à cacher quoi que ce soit: c'est surtout parce que j'ai 3 ou 4 autres répertoires similaires qui pourraient tôt ou tard migrer de la même façon vers une URL plus spécifique.

Je parlais donc de façon générale, un peu comme les éternels foo / bar (ah, le bon vieux temps du C sous X11/R6...).

 

Un exemple:

http://www.pong-story.com/chip8 pointe vers un émulateur que j'ai créé il y a plus de 20 ans sous DOS.

Si je voulais le migrer vers www.chip-8.com, je mettrai le .htaccess si-dessous dans le répertoire /chip8 sur le serveur de pong-story:

RewriteEngine On
RewriteRule  /?(.*) http://www.chip-8.tld/$1  [R=301, QSA, L]

Pour le moment je veux surtout appliquer ça sur le site de ma boutique paléophonies, à avoir passer de

http://www.pong-story.com/paleophonies/maPage.htm

vers

http://www.paleophonies.com/maPage.htm

 

Les fichiers de pong-story sont localisés côté serveur sur /www/pong-story

Ceux de paleophonies sur /www/paléophonies

/www est la racine de ce qui est "visible" et donc "alias-able".

 

En tout cas j'ai essayé la copie exacte des deux lignes ci-dessus donne l'erreur 500 et ne passe pas au simulateur.

J'ai tenté de remplacer .tld par .com, même erreur.

Un moment je pensais que /?(.*) pointait vers la racine du site donc j'ai essayé /paleophonies/?(.*) mais là aussi, le simulateur produit une erreur.

Je n'ai pas tout essayé en vrai: je souhaitais tenter les modifs les unes après les autres pour voir l'URL générée afin de savoir quand c'était bon.

 

Voilà. Je cherche toujours à comprendre, étant tout à fait néophyte en matière de "vrai" développement web.

Modifié par wintr
Lien vers le commentaire
Partager sur d’autres sites

Au temps pour moi ! Il y a des espaces en trop dans les flags !

Il faut mettre

[R=301,QSA,L]

au lieu de

[R=301, QSA, L]

Ce sont ces espaces qui causent l'erreur 500.... c'est vraiment trop bête !

 

Désolé ! C'est ce qui peut arriver lorsqu'on formate un texte pour le rendre plus lisible :)

 

Lien vers le commentaire
Partager sur d’autres sites

Pas de souci :) Fallait aussi mettre com à la place de tld.

Maintenant, ça marche, mais cela ne permet plus d'avertir l'utilisateur qu'il doit mettre ses signets à jour.

Niveau moteurs de recherche, pas de souci. La seule chose qui m'inquiète, ce sont les références sur divers forums et pages web qui eux, ne vont pas changer et conserver l'ancienne URL (d'où mon idée de mettre un avertissement dans les pages html de l'ancien répertoire).

Y'a une façon d'afficher un avertissement avant de rediriger ?

En tout cas merci !

Lien vers le commentaire
Partager sur d’autres sites

Et oui, TLD est l’abréviation de Top Level Domain ... c'est à remplacer comme tu devais remplacer site1 ou site2 ;)

 

Les forums et pages web ne changeront de toute manière pas leurs liens de manière automatique. Il faudra que tu les contactes...

Donc à ta place, je ne me casserais pas trop la tête pour ça car cette page intermédiaire ne servirait à rien.

 

L'important est de laisser cette règle en place, comme ça tes visiteurs seront redirigés sur le nouveau domaine. Et s'ils veulent mettre l'URL en favori, ce sera la nouvelle.

De plus, les moteurs de recherche changeront leur base de données du fait de la redirection 301 ... donc la vie est belle, non ?

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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