更改IIS URL重写的配置位置(Changing IIS URL Rewrite config l

2019-10-23 00:15发布

当在站点级别使用,IIS7的URL重写2模块将在该网站的web.config文件的配置。 我使用Sitecore的CMS,和最好的做法是存储在一个单独的配置文件的任何web.config中的定制,便于升级,分期/生产准备等。

有没有什么办法可以指定一个不同的配置文件重定向IIS7?

我知道,应用程序级重写存储在对ApplicationHost.config,但我在服务器上运行多个站点,并希望让他们分开。

谢谢,亚当

Answer 1:

为了支持你所提到的这个最佳实践,Sitecore的实现可插拔CONFIGS,但仅限于内部的元素<sitecore> web.config中的部分。 所以,除非IIS7 URL重写提供了一些方法,以它的东西搬到一个单独的配置(如ASP.NET确实为connectionstrings.config),恐怕你必须保持它在主web.config文件。

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



Answer 2:

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

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

样品rewriteMaps.config文件:

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


Answer 3:

我不熟悉的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重写的工作方式相同。



文章来源: Changing IIS URL Rewrite config location