Модуль IIS7 urlrewrite - правила во внешнем XML-файле - PullRequest
27 голосов
/ 22 сентября 2010

Я использую модуль IIS7 UrlRewrite.Я установил свои правила в разделе web.config <system.webServer><rewrite>.Я хочу знать, есть ли способ определить правила в одном внешнем файле XML, а не в файле web.config.Благодаря.

Ответы [ 2 ]

51 голосов
/ 25 июня 2011

Да, вы можете использовать атрибут 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-адресаиз файла web.config

1 голос
/ 25 сентября 2010

Вы можете использовать типовые провайдеры перезаписи URL, которые включают одного, для хранения их в отдельном файле, см .: http://www.iis.net/learn/extensions/url-rewrite-module/using-custom-rewrite-providers-with-url-rewrite-module

...