gpt4 book ai didi

asp.net - 使用 IIS7 URL 重写模块强制使用 HTTPS 并避免重复的 URL

转载 作者:行者123 更新时间:2023-12-02 21:24:27 25 4
gpt4 key购买 nike

我需要将每个请求强制发送到 https://www.mysite.com (始终带有 https 和 www)

该网站托管在 GoDaddy 中,我需要通过 IIS7 URL 重写模块来完成此操作。

我已经能够使用以下代码进行 HTTPS 重定向:

<system.webServer>
<rewrite>
<rules>
<rule name="Canonical Host Name" stopProcessing="true">
<match url="(.*)" />

<conditions>
<add input="{HTTP_HOST}" pattern="^mysite\.com$" />
</conditions>

<action type="Redirect" url="https://www.mysite.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>

测试用例

我猜当我在浏览器中输入 www.mysite.com 时,条件不满足,因此没有重定向,页面作为 HTTP 而不是 HTTPS。

我想我只需要修改条件模式,但我几乎没有正则表达式知识,我需要尽快。

谢谢!

最佳答案

emzero,我认为问题是您的条件仅与 mysite.com 精确匹配:

<conditions>
<add input="{HTTP_HOST}" pattern="^mysite\.com$" />
</conditions>

注意模式:^mysite\.com$。这在英语中表示传入 URL 必须以 mysite.com 开头并以 mysite.com 结尾,即 www.mysite.com匹配。

尝试使用此模式,它允许使用选项 www.:

<conditions>
<add input="{HTTP_HOST}" pattern="^(www\.)?mysite\.com$" />
</conditions>

祝你编程愉快!

关于asp.net - 使用 IIS7 URL 重写模块强制使用 HTTPS 并避免重复的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5017632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com