更改IIS URL重写配置位置

时间:2010-06-09 10:18:56

标签: iis url rewrite web-config sitecore

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

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

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

谢谢,亚当

3 个答案:

答案 0 :(得分:1)

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

很抱歉,如果我说的很明显。

答案 1 :(得分:1)

您也可以尝试使用重写地图

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

示例rewriteMaps.config文件:

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

答案 2 :(得分:0)

我不熟悉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>

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