IIS7 urlrewrite模块 - 外部xml文件中的规则

时间:2010-09-22 09:21:22

标签: iis-7 url-rewriting web-config url-rewrite-module

我正在使用IIS7 UrlRewrite模块。 我在web.config <system.webServer><rewrite>部分设置了规则。 我想知道是否有一种方法可以在一个外部xml文件而不是web.config文件中定义规则。 感谢。

2 个答案:

答案 0 :(得分:51)

是的,您可以使用configSource属性指向外部文件,就像使用其他web.config部分一样。在web.config中:

<rewrite>
    <rules configSource="Rewrite.config" />
</rewrite>

在规则配置文件中:

<rules>
    <rule name="some rule">
        <!-- rule details here --->
    </rule>
</rules>

您甚至可以使用IIS管理器编辑规则,它只会起作用。使用这种方法的一个小问题是:当你进行更改并保存这样的外部文件时,它不会回收应用程序,就像对web.config进行更改一样。因此,如果您正在编辑规则并希望看到它生效,则需要通过编辑并保存它来手动搜索web.config。

另一个参考:Moving IIS7 url rewrite section out of the web.config file

答案 1 :(得分:1)

您可以使用示例URL重写提供程序,其中包含用于将它们存储在单独文件中的提供程序,请参阅: http://www.iis.net/learn/extensions/url-rewrite-module/using-custom-rewrite-providers-with-url-rewrite-module