我编写了一个简单的重写规则,因此我可以从所有页面路径中删除 .aspx。
这样,如果有人输入http://www.domain.com/Contact,他们将被带到联系页面,而不必输入http://www.domain.com/contact.aspx。
以下规则可以正常工作,除非文件名包含句点。我不希望应用该规则,因为即使认为当 url 是文件或目录时我有一个否定条件,这也不适用于处理程序和其他特殊文件。为了避免这个问题,我通过为每个文件添加一个条件来否定特殊文件,这不再是工作人员,但是因为有很多特殊情况会出现,我不想写一个新的每个特殊情况一个。
基本上我只需要添加一个条件,即当文件名中有句点来否定它。任何人都可以帮忙吗?我不擅长正则表达式。
<rule name="RewriteASPX" stopProcessing="true" enabled="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="{R:1}.aspx" />
</rule>