删除尾部斜杠工作得很好,直到出现查询字符串

时间:2015-06-22 20:11:07

标签: .htaccess iis rewrite

基本上,我有一个重写规则,它从URL中删除尾部斜杠。我目前正在使用IIRF(IIS 6),该规则将采用以下URL并删除斜杠,如下所示:

http://test.site.com/home-search/communities/state/city/

并成功将其更改为:

http://test.site.com/home-search/communities/state/city

但是当查询字符串存在时,会自动添加尾部斜杠。因此,基本上将?param1 = xx& param2 = yy添加到URL中,在查询字符串之前重新添加斜杠。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} $ !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/$

RewriteRule ^(.*)/$ $1 [R=301,QSA]

如果我添加以下规则,我会得到一个破坏页面的重定向循环,但会正确删除尾部斜杠。

RewriteRule ^(.*)\/(\?.*)?$ $1 [R=302,QSA]

知道我可能做错了吗?

0 个答案:

没有答案