27

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

4

2 回答 2

52

是的,您可以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。

另一个参考:将 IIS7 url rewrite 部分移出 web.config 文件

于 2011-06-25T15:32:10.787 回答
1

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

于 2010-09-25T05:22:14.060 回答