是否可以像使用 appsettings 一样将 IIS7 重写模块创建的规则从根 Web 配置移动到其自己的 Web 配置文件中,如果可以,如何?
问问题
3602 次
3 回答
3
我似乎无法让它工作,但它的描述方式是:
<rewrite>
<rewriteMaps configSource="external.config">
</rewriteMaps>
</rewrite>
然后在 external.config 文件中添加您的规则:
<rewriteMaps>
<rewriteMap ...
...
</rewriteMaps>
您必须对整个 rewriteMap 部分执行此操作:根据此论坛帖子,您不能对 rewriteMap 执行此操作:http ://forums.iis.net/t/1154113.aspx
于 2009-07-14T17:44:58.043 回答
3
这在 web.config 中对我有用:
<system.webServer>
<rewrite>
<rules configSource="web.rules.config" />
</rewrite>
</system.webServer>
一件很酷的事情是IIS 配置编辑器在您编辑规则并将更改写回外部文件时尊重此外部文件。
如果你放:
<system.webServer>
<rewrite configSource="web.rules.config" />
</system.webServer>
它不起作用,您会收到 HTTP 错误 500.19 内部服务器错误:
Error Code: 0x8007000d
Config Error: Unrecognized attribute 'configSource'
谁能指出有关rewrite
元素和configSource
属性的权威 MSDN 帮助页面?system.webServer 上的MSDN 文章没有提到 rewrite 元素,我无法通过谷歌找到 MSDN 页面。
于 2012-09-12T18:10:43.123 回答
0
我找到了配置文档,但它似乎没有涵盖 configSource 属性的使用。
我的猜测是该<rules />
元素是作为具有configSource属性的 SectionInformation 实现的,而该<rewrite />
元素是没有的ConfigurationSection。
于 2013-03-13T08:14:46.173 回答