Rediection anciennes url vers nouvelles (RewriteRule)

WRInaute discret
Bonjour,

Je viens de mettre en ligne la nouvelle version d'un de mes sites web. Qui dit nouvelle version dit aussi nouvelles url mieux travaillées (j'espère ;-)

Je me casse la tête sur un format que je ne parviens pas à rediriger :

www.mon_ancienne_version.com/mapage.html?matiere=X&cible=Z

doit être redirigé vers

www.ma_nouvelle_version.com/blabla/X-blabla.html

Et là, je cale !!

De manière plus générale, je cale sur les redirections (R=301) à partir du moment où j'ai des variables après le .html

Ce type fonctionne très bien
RewriteRule ^page-actualite-jt.html$ /Actualite/Journees_Techniques.html [R=301]

Celui-là, pas du tout :
RewriteRule ^page-recherche.html?rech=plan+de+formation$ /Recherche.html?ValRecherche=plan+de+formation [R=301]


Une idée ?
 
WRInaute occasionnel
Normal, les variables ne font pas partie de la section vérifiée dans une RewriteRule, il faut passer par une RewriteCond ainsi :
Code:
RewriteCond %{QUERY_STRING} matiere=([^&]+)
RewriteRule ^mapage.html$ http://10.0.0.217/blabla/%1-blabla.html [R=301]

Pour ton deuxième exemple, ça donnerait un truc du genre :
Code:
RewriteCond %{QUERY-STRING} rech=([^&]+)
RewriteRule ^page-recherche.html$ /Recherche.html?ValRecherche=%1 [R=301]
 
Discussions similaires
Haut