我编写了这些规则,将非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 !
规则有什么问题?谢谢:))
答案 0 :(得分:1)
您可以使用:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,R=301,NE]
NE
标志将避免对生成的URL进行编码。确保在测试时清除浏览器缓存。