部署到 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,应该就是这样。
我配置了两个发布配置文件来将网站部署到 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,应该就是这样。