Version complète: sur le forum Webmaster Hub : Redirection après URL rewriting
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
YoyoS
Bonsoir à tous, j'aurais besoin de vos conseils pour un petit problème au niveau d'une redirection.

Notez que j'ai lu l'article sur l'URL Rewriting disponible sur Webmaster-Hub mais il ne répond pas à ce besoin, ou alors je dois faire une petite bêtise.

Je m'explique, j'ai fait de l'url rewriting sur mon livre d'or

les urls étaient de ce type: livreor.html?page=2 et je les ai tranformé en livreor-2.html

avec cette ligne dans le htaccess:
CODE
RewriteRule ^livreor-([0-9]+)\.html$ /livreor.html?page=$1 [QSA,L]


Jusque la, pas de problème, merci pour votre article en passant ! biggrin.gif

Le problème maintenant, c'est que j'aimerais faire une règle qui redirige directement les anciennes url dans le nouveau format avec une redirection 301 bien sure

J'ai donc tenté ceci:

CODE
RewriteRule ^livreor.html?page=([0-9]+)$ /livreor-$1.html [QSA,L,R=301]
RewriteRule ^livreor.html?page=([0-9]+)$ livreor-$1.html [QSA,L,R=301]
RewriteRule livreor.html?page=([0-9]+)$ /livreor-$1.html [QSA,L,R=301]
RewriteRule livreor.html?page=([0-9]+)$ livreor-$1.html [QSA,L,R=301]


Ca ne semble pas trop fonctionner malheureusement et même si je ne mets aucun paramètre avec par exemple:

CODE
RewriteRule ^livreor.html?page=2 /livreor-2.html [QSA,L,R=301]


Cela ne fonctionne pas non plus whistling.gif

Merci pour vos conseils ! hypocrite.gif
Dan
Bonjour,

Il est logique que la règle
CODE
RewriteRule ^livreor.html?page=([0-9]+)$ /livreor-$1.html [QSA,L,R=301]

ne fonctionne pas...

Lorsqu'on veut traiter la QUERY_STRING, il faut la traiter séparément parce qu'elle n'est pas transmise dans l'URL avec une directive RewriteCond.
Et le caractère servant à identifier les "back-references des RewriteCond" n'est plus le $ mais le %

Il faut donc écrire par exemple:
CODE
RewriteCond %{QUERY_STRING} page=([0-9]+)
RewriteRule (.*) http://www.domaine.tld/livreor-%1.html [R=301,L]


Dans la mesure où ton argument page ne sert que pour livreor...

Dan
YoyoS
Merci beaucoup, je n'avais pas trop compris le QUERY_STRING et ne pensait pas qu'il s'appliquait dans mon cas smile.gif

Je vais tester sur cette voie alors !
YoyoS
Hum dur dur, il n'arrête pas de boucler lorsque je vais sur un des deux formats pour une même page. J'utilise pourtant la condition que tu m'as donné correctement il me semble :s
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.