为不同的服务器配置一个web.config文件

时间:2011-09-30 16:16:05

标签: iis-7 web-config

有没有办法配置web.config文件,只有在与服务器名称匹配时执行它的规则?

例如,我们有两个服务器:WebDev(用于开发)和WebLive(实时Web服务器)

在实时服务器上,我们有一个URL重写规则来配置规范名称,但是当我们同步这些站点(从而将web.config文件复制回dev)并在开发平台上运行时,规范规则启动并将我们发送到实际网站,而不是让我们保持在开发平台上。我可以从同步中排除web.config,但正在寻找替代方案。

有点像......

<apply rule to WebLive>
<rule name="CanonicalHostNameRule1">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^www\.domain\.org$" negate="true" />
    </conditions>
    <action type="Redirect" url="http://www.domain.org/{R:1}" />
</rule>
</>

1 个答案:

答案 0 :(得分:0)

在Visual Studio 2010中,您现在可以根据构建配置对您的web.config应用转换。

创建web.config时,您可以在解决方案资源管理器中展开该文件,您将看到两个文件:

  1. Web.Debug.Config
  2. Web.Release.Config
  3. 它们包含可用于的转换代码:

    • 更改连接字符串
    • 删除调试跟踪和设置
    • 注册错误页面

    link