1

我在尝试让重写在 IIS7 web.config 中工作时遇到问题。

我需要将 /err/interaccess 之类的 URL 重写为 /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>

知道为什么吗?我试图找到有关此的文档,但找不到有关此用法的任何信息。

4

1 回答 1

1

神奇之处在于<match>标签的正则表达式。要使其与您的确切 URL 匹配,您将使用:

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

于 2012-11-19T00:02:17.107 回答