当在站点级别使用,IIS7的URL重写2模块将在该网站的web.config文件的配置。 我使用Sitecore的CMS,和最好的做法是存储在一个单独的配置文件的任何web.config中的定制,便于升级,分期/生产准备等。
有没有什么办法可以指定一个不同的配置文件重定向IIS7?
我知道,应用程序级重写存储在对ApplicationHost.config,但我在服务器上运行多个站点,并希望让他们分开。
谢谢,亚当
当在站点级别使用,IIS7的URL重写2模块将在该网站的web.config文件的配置。 我使用Sitecore的CMS,和最好的做法是存储在一个单独的配置文件的任何web.config中的定制,便于升级,分期/生产准备等。
有没有什么办法可以指定一个不同的配置文件重定向IIS7?
我知道,应用程序级重写存储在对ApplicationHost.config,但我在服务器上运行多个站点,并希望让他们分开。
谢谢,亚当
为了支持你所提到的这个最佳实践,Sitecore的实现可插拔CONFIGS,但仅限于内部的元素<sitecore>
web.config中的部分。 所以,除非IIS7 URL重写提供了一些方法,以它的东西搬到一个单独的配置(如ASP.NET确实为connectionstrings.config),恐怕你必须保持它在主web.config文件。
很抱歉,如果我说的明显的事情。
您也可以尝试使用重写地图
<rewrite>
<rewriteMaps configSource="rewriteMaps.config" />
</rewrite>
样品rewriteMaps.config文件:
<rewriteMaps>
<rewriteMap name="CustomRewrites" defaultValue="">
<add key="/instructions" value="/documents" />
</rewriteMap>
</rewriteMaps>
我不熟悉的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重写的工作方式相同。