【问题标题】:Changing IIS URL Rewrite config location更改 IIS URL 重写配置位置
【发布时间】:2011-03-01 14:23:03
【问题描述】:

在站点级别使用时,IIS7 URL Rewrite 2 模块将其配置保存在该站点的 web.config 文件中。我正在使用 Sitecore CMS,最佳做法是将任何 web.config 自定义项存储在单独的配置文件中,以便于升级、暂存/生产设置等。

有没有办法为 IIS7 重定向指定不同的配置文件?

我知道应用程序级别的重写存储在 ApplicationHost.config 中,但我在服务器上运行了多个站点,并希望将它们分开。

谢谢,亚当

【问题讨论】:

    标签: iis url rewrite web-config sitecore


    【解决方案1】:

    为了支持您提到的这种最佳实践,Sitecore 实现了可插入配置,但仅适用于 web.config 的 <sitecore> 部分中的元素。因此,除非 IIS7 URL 重写提供了某种方式将其内容移动到单独的配置中(就像 ASP.NET 对 connectionstrings.config 所做的那样),否则恐怕您必须将其保留在主 web.config 文件中。

    对不起,如果我说的很明显。

    【讨论】:

      【解决方案2】:

      我不熟悉 url 重写配置,但我有一个将 url 映射移动到单独文件的示例:

      <urlMappings configSource="config\urlMappings.config"></urlMappings>
      

      该文件如下所示:

      <?xml version="1.0"?>
      <urlMappings enabled="true">
          <add url="~/somedealer" mappedUrl="/?theme=4" />
          <add url="~/someotherclient" mappedUrl="/?theme=12" />
      </urlMappings>
      

      我确定 url 重写的工作方式相同。

      【讨论】:

      • 不。可以移出section,但是rewrite配置是sectiongroup,不能应用configSource。
      【解决方案3】:

      你也可以尝试使用rewrite maps

      <rewrite>
          <rewriteMaps configSource="rewriteMaps.config" />
      </rewrite>
      

      rewriteMaps.config 文件示例:

      <rewriteMaps>
          <rewriteMap name="CustomRewrites" defaultValue="">
              <add key="/instructions" value="/documents" />
          </rewriteMap>
      </rewriteMaps>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-07
        • 2014-12-06
        相关资源
        最近更新 更多