[URL Rewriting] Problème d'encodage
Bonjour messieurs,
Voici mon problème. J'ai une rewrite qui tourne sur mon serveur HTTP qui me redirige suivant la présence ou non d'un paramètre.
Le redirection en question doit juste me changer le nom de domaine de mon site : je dois passer sur
Code:
1 2 3 4
|
www.monsite.fr ==> www.monsite.com
ou
www.monsite.com ==> www.monsite.fr |
Donc, l'url (HOST + REQUESTURI + QUERY_STRING) reste la même à l'exception du .com qui passe en .fr (ou inversement)
Voici la rewrite rule :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
ProxyRequests Off
ServerName www.monsite.fr
RewriteEngine On
ProxyPreserveHost On
#Detection du nom de domaine
RewriteCond %{HTTP_HOST} ^www.monsite.fr$
#detection de langue
RewriteCond %{HTTP:Accept-Language} (^en)
#pas le paramètre 'rr=false' ==> on peut rediriger
RewriteCond %{QUERY_STRING} !.*rr=false$
RewriteRule ^/(.*)$ http://www.monsite.com/$1 [R=301,L] |
Le problème qui se pose est lorsque que j'ai des urls encodées, du genre :
Code:
http://www.monsite.com/toto?param=avant%20espace
Je me retrouve alors avec l'url suivante :
Code:
http://www.monsite.fr/toto?param=avant%2520espace
Donc la question : Savez-vous comment faire pour que mon paramètre ne soit pas ré-encodé, et que mon url soit :
Code:
http://www.monsite.fr/toto?param=avant%20espace
???
Merci d'avance.