我编写了一个简单的重写规则,因此我可以从所有页面路径中删除.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>
答案 0 :(得分:0)
在匹配字段中尝试此操作:
<match url="^(.*/[^.]*)$" />
它应匹配所有没有'。'的网址。在最后一次'/'之后。