J'ai transféré un site d'un hébergeur à un autre, et surtout j'ai modifié le nom de domaine. Appelons-les www.vieuxsite.com et www.nouveausite.com.
A part le nom de domaine, rien ne change : même site, même architecture.
L'idée est de laisser une page d'accueil sur vieuxsite.com pour dire aux visiteurs "l'adresse du site a changé !" et de rediriger les autres pages vers leur équivalent sur nouveausite.com (par exemple : www.vieuxsite.com/ABCrenvoie vers www.nouveausite.com/ABC, et www.vieuxsite.com/path/truc-3 vers www.nouveausite.com/path/truc-3).
A partir de là, 2 questions :
1) Que mettre dans le .htaccess pour automatiser cette redirection ? J'ai beau faire des recherches, je ne trouve pas.
2) Pour la page d'accueil de vieuxsite.com, y a-t-il un moyen d'imposer une redirection aux robots (pour rediriger le link juice) mais pas aux utilisateurs (pour qu'ils voient le message) ?
1) RedirectMatch ^/.+ http://www.nouveausite.com$0 ou
RewriteEngine on
RewriteRule ^(index\.php)?$ - [L]
RewriteRule ^ http://www.nouveausite.com%{REQUEST_URI} [L,R=permanent]
2) il faudrait pouvoir les identifier, normalement on le ferait via l'entête User-Agent qu'ils émettent mais ça va être compliqué de faire quelque de vraiment exhaustif (si c'est limité à quelques moteurs de recherche comme google + bing + etc oui)
Genre, prendre les RewriteRule ci-desus et ajouter avant la première RewriteRule :
# pour rediriger google + bing
RewriteCond %{HTTP_USER_AGENT} !(?:Google|bing)bot
Bon, je reviens super tard, mais je n'ai pas eu l'occasion de tester avant. Ça marche nickel, merci beaucoup.
Redirection par .htaccess
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli