htaccess:当参数包含空格

时间:2016-03-08 09:51:19

标签: .htaccess redirect

我编写了这些规则,将非www重定向到www

RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

它工作正常但是当我在url参数中有空格时,我在URL中添加了相同的奇怪字符。

示例:我有一个搜索表单,当我输入&#34; foo bar&#34;时,生成的URL为example.com/?searchword=foo%252520bar&searchphrase=all < / p>

如果我删除htaccess规则,则网址中不再有%2525

规则有什么问题?谢谢:))

1 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,R=301,NE]

NE标志将避免对生成的URL进行编码。确保在测试时清除浏览器缓存。