加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – Web部署删除IIS网站自定义配置

发布时间:2020-12-16 03:49:10 所属栏目:asp.Net 来源:网络整理
导读:我正在使用Web Deploy(来自VS2013)将ASP.NET MVC站点发布到IIS 7.5. 我通过IIS管理器添加了一些URL重写规则和自定义HTTP响应头. 问题是每次部署新版本的站点时,都会删除此额外配置. 这是预期的行为还是有问题?如何在每次部署时保留这些自定义设置? UPDATE
我正在使用Web Deploy(来自VS2013)将ASP.NET MVC站点发布到IIS 7.5.

我通过IIS管理器添加了一些URL重写规则和自定义HTTP响应头.

问题是每次部署新版本的站点时,都会删除此额外配置.

这是预期的行为还是有问题?如何在每次部署时保留这些自定义设置?

UPDATE

所以我理解我需要将这些更改放在web.config中.我正在尝试将它们放在Web.Release.config中,但它没有被添加到已部署的web.config中.我想我错过了一些XDT:转换规则.

这就是我在Web中发现的.Release.config(是的,发布配置文件正在使用此Release配置).

<configuration>
    <!-- some other stuff -->
    <system.webServer>
        <rewrite>
          <rules>
            <rule name="Redirect to www" patternSyntax="Wildcard" stopProcessing="true">
              <match url="*" />
              <conditions>
                <add input="{HTTP_HOST}" pattern="mydomain.com" />
              </conditions>
              <action type="Redirect" url="http://www.mydomain.com/{R:0}" />
            </rule>
          </rules>
        </rewrite>
      </system.webServer>
</configuration>

解决方法

将web.config的构建操作转为无.这将阻止每次发布时都部署文件.

编辑

要从web.release.config将整个部分插入到web.config中,需要添加xdt:Transform =“Insert”,如下所示:

<system.webServer xdt:Transform="Insert">
        <rewrite>
          <rules>
            <rule name="Redirect to www" patternSyntax="Wildcard" stopProcessing="true">
              <match url="*" />
              <conditions>
                <add input="{HTTP_HOST}" pattern="mydomain.com" />
              </conditions>
              <action type="Redirect" url="http://www.mydomain.com/{R:0}" />
            </rule>
          </rules>
        </rewrite>
      </system.webServer>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读