【发布时间】:2020-01-17 20:16:57
【问题描述】:
我有一个简单的网站,我想去掉 www 并强制它是 https。
我设法让 3 种可能的组合起作用,但被最后一种卡住了。
- http://website.tld -> https://website.tld(好的)
- https://website.tld -> https://website.tld(好的)
- http://www.website.tld -> https://website.tld(好的)
- https://www.website.tld -> https://website.tld (KO)
我正在使用从此处提出的其他问题借用的代码进行 URL 重写。我启用了以下 2 条规则:
<rule name="Remove www" enabled="true" stopProcessing="true">
<match url="(.*)" negate="false"></match>
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.(.*)$" />
</conditions>
<action type="Redirect" url="https://{C:1}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
<rule name="Force HTTPS" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
我有以下 URL 重定向:
- www.website.tld → https://website.tld
- (*) → https://website.tld
知道如何应对这种情况吗?
谢谢
【问题讨论】:
-
根据你的url重写规则,我自己做了一个测试demo,效果很好。 Result Image。我建议您可以尝试使用失败请求跟踪来解决发生的问题。详情可以参考这个article。
标签: redirect iis url-rewriting