基本上,我有一个重写规则,它从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]
知道我可能做错了吗?