2011-08-30 87 views
6

我有关于.htaccess和QUERY_STRING的问题。htaccess QUERY_STRING urldecode

我尝试重定向我的htaccess的URL看起来像这样:

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

http://otherdomain.tld?param=0 

我用的RewriteCond和重写规则与REQUEST_URI重定向的URL和自REQUEST_URI一切工作正常在htaccess中默认是urldecoded。

但是,当我通过电子邮件将链接发送到Hotmail时,Hotmail urldecodes斜线和问号。结果是这样的:

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

所以htaccess将链接并试图重定向,但由于问号htaccess的“认为”的问号后面的所有内容是一个QUERY_STRING。

问题:apache2不会urldecode QUERY_STRING。那么会发生什么事是,htaccess重定向到

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

这将失败。

所以我的问题是:

我怎么能告诉htaccess的要么urldecode的QUERY_STRING或使用完整的请求的URL(或urlendcoded或urldecoded),包括问号之后的部分

谢谢提前!

干杯

+0

我也有类似的问题http://stackoverflow.com/questions/8464298/rewrite-and-url-decoding 我也无法得到答案。你解决了吗? – dstonek

回答