部署到 IIS 会删除 URL 重写规则?

Deploying to IIS removes URL rewrite rules?

我配置了两个发布配置文件来将网站部署到 IIS。

第一个基于 FTP,第二个基于 MS Web Deploy。

两种部署方法都删除了 URL 重写规则,但是,这不是我想要的。

我应该如何配置 IIS、发布配置文件或Web.config 以防止删除我的规则?

解法: 我必须添加:

<rewrite>
  <rules>
    <rule name="http to https" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
    </rule>
  </rules>
</rewrite>

我的 web.config 文件。我项目中的 web.config 以某种方式覆盖了 iss 规则

此规则存储在web.config中。如果您部署并覆盖 web.config,此规则将消失。不要覆盖 web.config,应该就是这样。