IIS7 urlrewrite module - Rules in external xml file

opaera picture opaera · Sep 22, 2010 · Viewed 16.5k times · Source

I'm using IIS7 UrlRewrite module. I set up my rules in the web.config <system.webServer><rewrite> section. I want to know if there's a way to define the rules in one external xml file instead of in web.config file. Thanks.

Answer

Kurt Schindler picture Kurt Schindler · Jun 25, 2011

Yes, you can use the configSource attribute to point to an external file like you can with other web.config sections. In the web.config:

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

And in the rules config file:

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

You can still even use the IIS manager to edit rules and it'll just work. One minor caveat with this approach: when you make a change and save an external file like this, it will not recycle the application like making a change to the web.config will. So if you're editing a rule and want to see it take effect, you need to manually poke the web.config by making an edit and saving it.

Another reference: Moving IIS7 url rewrite section out of the web.config file