我刚开始使用c#.net web.config中的URL Rewrite 2.0。我的web.config看起来像这样:
<rewrite>
<rules>
<rule name="RemoveTrailingSlashRule2" stopProcessing="true">
<match url="(.*)/$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Redirect" url="{R:1}" />
</rule>
</rules>
</rewrite>
这应删除URL上的尾部斜杠。当我运行应用程序时,规则似乎在根级别工作,所以这......
www.mysite.com/
...被重定向到......
www.mysite.com/
...但重定向在其他级别不起作用。
所以问题在于......
www.mysite.com/pages/
...最后留下的斜杠留在原地,如果我试试这个......
www.mysite.com/pages
...尾部斜线实际上是APPENDED。
我的猜测是,这是IIS 7添加的'礼貌尾随斜线',但我不知道如何获取URL重写规则来覆盖它?
答案 0 :(得分:1)
我知道这已经有一年了,但我遇到了同样的问题所以我决定发布解决方案。
问题是:
<match url="(.*)/$" />
应该是
<match url="(.*)\/$" />
一旦改变一切都会有效。