8

是否可以像使用 appsettings 一样将 IIS7 重写模块创建的规则从根 Web 配置移动到其自己的 Web 配置文件中,如果可以,如何?

4

3 回答 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 回答