2011-08-30 13 views
6

Ho un problema relativo a .htaccess e QUERY_STRING.htaccess QUERY_STRING urldecode

provo reindirizzare un URL con il mio .htaccess che assomiglia a questo:

http://mydomain.tld/out/http%3A%2F%2Fotherdomain.tld%3Fparam%3D0 

a

http://otherdomain.tld?param=0 

Io uso RewriteCond e RewriteRule con il REQUEST_URI per reindirizzare l'URL e tutto funziona bene dato REQUEST_URI è urldecoded di default nel htaccess.

Tuttavia, quando invio il collegamento a Hotmail, Hotmail urldecodifica le barre e il punto interrogativo. Il risultato è simile al seguente:

http://mydomain.tld/out/http%3A//Fotherdomain.tld?param%3D0 

Così .htaccess prende il link e cerca di reindirizzare, ma a causa della domanda contrassegnare la .htaccess "pensa" tutto dietro il punto interrogativo è un QUERY_STRING.

Il problema: apache2 non urldecode il QUERY_STRING. Quindi, quello che succede è che htaccess reindirizza a

http://otherdomain.tld?param%3D0 

che fallirà.

Quindi la mia domanda è:

Come posso dire .htaccess a uno urldecode la QUERY_STRING o utilizzare l'URL completo richiesta (sia urlendcoded o urldecoded) compresa la parte dopo il punto interrogativo

Grazie a avanzare!

Acclamazioni

+0

Ho anche un problema simile http://stackoverflow.com/questions/8464298/rewrite-and-url-decoding anche io non sono riuscito a ottenere una risposta. L'hai risolto? – dstonek

risposta