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