dams41 Posté 4 Janvier 2008 Posté 4 Janvier 2008 Bonjour, Je dois, pour des questions de référencement, rediriger d'anciennes pages d'un site vers de nouvelles, à l'aide d'une redirection 301. Je sais qu'il y a deux manières de faire : RedirectPermanent ou RewriteRule. Les adresses d'origine sont de la forme ancien.php?page=alpha&id_rubrique=8 Les nouvelles adresses sont de la forme nouveau.php?id_doc=27 Sans que id_rubrique et id_doc aient quoi que ce soit à voir ensemble. C'est pourquoi, j'ai décidé (j'ai pas vraiment le choix) d'écrire une règle par page. Il existe environ une centaine de page, et comme il n'y a pas de liens possibles entre les anciennes et les nouvelles pages, j'ai écrit les règles de la façon suivante : Avec RewriteRule RewriteEngine OnRewriteRule ^ancien.php?page=alpha&id_rubrique=8$ http://www.exemple.fr/nouveau.php?id_doc=27 [L,R=301] qui ne fonctionne absolument pas (j'obtient une erreur 404). Avec RedirectPermanent RedirectPermanent ancien.php?page=alpha&id_rubrique=8 http://www.exemple.fr/nouveau.php?id_doc=27 Qui ne fonctionne pas mieux (erreur 404 aussi). Par ailleurs, et en ayant testé pas mal de chose, j'ai remarqué que la réécriture suivante fonctionne : RewriteRule ^ancien.php$ http://www.exemple.fr/nouveau.php?id_doc=27 [L,R=301] Lorsque j'apelle ancien.php?page=*&id_rubrique=*, la redirection fonctionne, je me retrouve bien sur la page http://www.exemple.fr/nouveau.php?id_doc=27... Le problème, c'est que je ne peux pas différencier mes pages, et donc, rediriger chaque ancienne URL par la nouvelle correspondante... En espérant avoir été clair...
Jeanluc Posté 4 Janvier 2008 Posté 4 Janvier 2008 Essaie ceci: RewriteCond %{QUERY_STRING} ^page=alpha&id_rubrique=8$RewriteRule ^ancien\.php$ http://www.exemple.fr/nouveau.php?id_doc=27 [L,R=301] Jean-Luc
Sarc Posté 4 Janvier 2008 Posté 4 Janvier 2008 Bonjour, Avec les règles de réécriture, il faut faire attention au duplicate-content : il y aura deux URL référencées par les moteurs de recherche, qui auront un contenu à 100% identique. Il te vaut mieux privilégier la redirection permanente. L'id rubrique et l'id document n'ont aucun lien possible, même par la base de donnée ? J'ai été confronté à ce problème récemment, je voulais changer les URL's de mon forum. En PHP, j'ai créé une redirection permanente... Je pense que ça a marché.
dams41 Posté 4 Janvier 2008 Auteur Posté 4 Janvier 2008 _AT_Jean-luc : ça marche , et pour toutes les pages ! merci beaucoup de m'avoir aidé, j'étais pas prêt de trouvé ! _AT_sarc : en fait, j'ajoute R=301, qui indique une redirection 301 tout comme RedirectPermanent, donc pas de probleme de duplicate-content
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant