我在尝试使用IIS7 web.config中的重写时遇到问题。
我需要将/ err / interaccess等网址重写为/err/404new.asp(不是重定向,因为我不想公开文件。
我尝试了以下内容,只有在使用/ interaccess但不使用/ err / interaccess
时才有效 <rule name="Rewrite Interaccess Error" enabled="true" stopProcessing="true">
<match url="^tinteraccess$" />
<action type="Rewrite" url="/err/404new.asp" />
</rule>
有什么想法吗?我试图找到有关此用途的文档,但无法找到有关此用法的任何内容。
答案 0 :(得分:1)
魔法在<match>
标签的正则表达式中。要使其与您确切的网址匹配,请使用:
<rule name="Rewrite Interaccess Error" enabled="true" stopProcessing="true">
<match url="^err/interaccess$" />
<action type="Rewrite" url="/err/404new.asp" />
</rule>
如果您想匹配/err/
下的所有内容,请使用:
<rule name="Rewrite Interaccess Error" enabled="true" stopProcessing="true">
<match url="^err/" />
<action type="Rewrite" url="/err/404new.asp" />
</rule>
这些都有很好的记录,例如:http://www.iis.net/downloads/microsoft/url-rewrite(参见相关学习)