Я использую модуль IIS7 UrlRewrite.
Я установил свои правила в разделе web.config <system.webServer><rewrite>
.
Я хочу знать, есть ли способ определить правила в одном внешнем XML файле, а не в файле web.config.
Спасибо.
Модуль urlrewrite IIS7 - правила во внешнем файле xml
Ответ 1
Да, вы можете использовать атрибут 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, выполнив редактирование и сохраните его.
Еще одна ссылка: Перемещение раздела перезаписи URL-адреса IIS7 из файла web.config
Ответ 2
Вы можете использовать пример URL Rewrite провайдеров, которые включают один для хранения в отдельном файле, см. http://www.iis.net/learn/extensions/url-rewrite-module/using-custom-rewrite-providers-with-url-rewrite-module