我們有一些非常基本的mod_rewrite規則:mod_rewrite urlencoding已經urlencoded查詢字符串參數 - 任何方式來禁用此?
RewriteRule ^something.swf$ http://www.newdomain.com/something.swf [R=302,L]
的mod_rewrite似乎做的工作,如果用戶訪問:
something.swf?param=value
,它被正確重定向到http://www.newdomain.com/something.swf?param=value
問題在這種情況下:
www.olddomain.com/something.swf?param=URL_ENCODED_VALUE
結果發生的是mod_rewrite它在它的自我重新進行urlencode查詢字符串PARAM
有啥用戶與結束是:
www.olddomain.com/something.swf?param=URL_ENCODED_VALUE
重定向到
www.newdomain.com/something.swf?param=URL_ENCODED_VALUE_OF_URL_ENCODED_VALUE
,所以我們結束了一個雙url編碼值。 boourns!
雖然我明白我們可以做一個\?(.*)
... ?$1
規則爲此,我想一定有辦法告訴mod_rewrite不urlencode查詢字符串參數...我們想避免使用2規則因爲有效路徑是:
something.swf (no query string)
和
something.swf?someparams...
所以啊,最好...只是告訴mod_rewrite的:請,沒有查詢字符串則params的URL編碼......通過直接剛中繼到新網址R=302
。
doh!答案是NE參數。抱歉! –
就是這樣。您能否提供答案並將其標記爲已接受? (我猜這樣做有時間限制,但請儘快去做:P) –
yea說我需要100位代表在不到8小時內回答我自己的問題。稍後會回答。 –