2013-12-08 58 views
1

我有以下的mod_rewrite规则,它从请求剥离.html扩展名并用尾随替换它/mod_rewrite的重新编码的查询字符串参数

# Handle requests to pages ending with .html 
RewriteCond %{REQUEST_URI} .*.html$ 
RewriteRule (.*).html$ $1/ [R=301,QSA,L] 

我发现,如果我的查询参数包含空格,已编码,重定向正在重新编码。因此,如果最初的请求是“/search-results.html?q=some%20string”,它会被重写为“/ search-results /?q = some%2520string”

是否有另一个参数可以给为了防止这种重新编码发生mod_rewrite?

+0

http://httpd.apache.org/docs/current/rewrite/flags.html – Sumurai8

+0

请注意,如果你想匹配一个点字面,你应该在你的正则表达式中使用'\ .',而不是''。 。尽管如此,这并不是问题所在。 – Sumurai8

回答

1

使用[NE]标志来避免重复编码。