Htaccess : Redirect permanent avec des paramètres en get
La directive htaccess Redirect permanent ne fonctionne pas si la page que l’on veut rediriger est identifiée par ses paramètres en get. Par exemple, si j’ai :
- monsite.fr/index.php?page=toto que je veux rediriger vers monsite.fr/toto
- monsite.fr/index.php?page=titi que je veux rediriger vers monsite.fr/titi
un redirect permanent classique ne fonctionnera pas.
Dans ce cas, il faut utiliser des règles de réécriture :
RewriteEngine on
RewriteCond %{QUERY_STRING} ^page=toto$
RewriteRule index.php http://monsite.fr/toto? [L,R=301]
RewriteCond %{QUERY_STRING} ^page=titi$
RewriteRule index.php http://monsite.fr/titi? [L,R=301]
Le point d’interrogation à la fin de l’url vers laquelle on redirige évite que la query string s’ajoute à la fin de l’url (et que ça donne : http://monsite.fr/titi?page=titi ).





Par Bogoris
Merci, c’est exactement ça que je cherchais pour éviter le Duplicate Content après une mise en place tardive de la réécriture d’URL.
Par flycatfly
Oui en effet, Redirect permanent ne fonctionnait pas pour un site web joomla que je développais.
Merci pour le code!