如何在web.config中设置规则以重写IIS7中的子目录/文件?

时间:2012-11-18 00:20:54

标签: iis-7 web-config rewrite

我在尝试使用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>

有什么想法吗?我试图找到有关此用途的文档,但无法找到有关此用法的任何内容。

1 个答案:

答案 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(参见相关学习)