通过IIS URL Rewrite Module向所有URL添加尾部斜杠广泛传播,但如何为以.html和.aspx结尾的URL添加异常?
今天我有这个:
<rule name="Add trailing slash" stopProcessing="true"> <match url="(.*[^/])$" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> <!-- Doesn't seem to be working --> <!--<add input="{REQUEST_URI}" pattern="(.*?).html$" negate="true" />--> <!--<add input="{REQUEST_URI}" pattern="(.*?).aspx$" negate="true" />--> </conditions> <action type="Redirect" redirectType="Permanent" url="{R:1}/" /> </rule>
解决方法
如果你想要正确的事情,你必须自己做,显然…
这是我的问题的解决方案:
<rule name="Add trailing slash" stopProcessing="true"> <match url="(.*[^/])$" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> <add input="{REQUEST_FILENAME}" pattern="(.*?)\.html$" negate="true" /> <add input="{REQUEST_FILENAME}" pattern="(.*?)\.aspx$" negate="true" /> </conditions> <action type="Redirect" redirectType="Permanent" url="{R:1}/" /> </rule>