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