1
我有以下.htaccess文件:保持URL編碼的.htaccess重寫後
RewriteEngine On
# Rewrite www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
假設我的域名是foo.com
。如果我打開http://foo.com/something
,它將被重定向到http://www.foo.com/something
。這很適用,除非something
包含任何url encoded字符。
如果我打開http://www.foo.com/bar/file-with-%3F-in-name
,REQUEST_URI
是/bar/file-with-%3F-in-name
。
如果我打開http://foo.com/bar/file-with-%3F-in-name
,然而,URL編碼%3F
被改寫期間解碼爲?
,並且REQUEST_URI
成爲/bar/file-with-
與QUERY_STRING
-in-name
。
如何在重寫期間保持url編碼字符不被解碼?