2011-08-30 51 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

回答