nous avons quelques très de base les règles de mod_rewrite:
RewriteRule ^something.swf$ http://www.newdomain.com/something.swf [R=302,L]
mod_rewrite coutures pour faire son travail, et si l'utilisateur accède à:
quelque chose.swf?param=valeur, il est redirigée correctement http://www.newdomain.com/something.swf?param=value
le problème est dans cette situation:
www.olddomain.com/something.swf?param=URL_ENCODED_VALUE
il arrive mod_rewrite prend sur soi pour re-urlencode la querystring param
donc, ce que l'utilisateur est fin, c'est:
www.olddomain.com/something.swf?param=URL_ENCODED_VALUE
REDIRIGÉ VERS
www.newdomain.com/something.swf?param=URL_ENCODED_VALUE_OF_URL_ENCODED_VALUE
on se retrouve donc avec un double-urlencoded valeur. boourns!
alors je ne comprends nous pourrions faire une \?(.*) ... ?$1 la règle pour cela, je pense, il doit y avoir un moyen de dire mod_rewrite ne PAS urlencode la chaîne de requête params... nous aimerions éviter d'utiliser 2 règles depuis chemins valides sont:
something.swf (no query string)
et
something.swf?someparams...
donc oui, idéalement... juste dire mod_rewrit: s'il vous plaît, pas d'encodage de querystring params... juste direct transitoires pour la nouvelle url à l'aide de r,302.
n'importe qui?
merci!