Aller au contenu

Sujets conseillés

Posté

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 On
RewriteRule ^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...

Posté

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

Posté

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é. :)

Posté

_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

Veuillez vous connecter pour commenter

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



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