如何设置web.config来处理以下重定向
http://example.com
-> https://example.sub.com
http://www.example.com
-> https://example.sub.com
http://example.sub.com
-> https://example.sub.com
我不确定的部分与网址匹配,例如
http://<dynamic>
至http://<dynamic>.sub.com
答案 0 :(得分:0)
我用两个规则解决这个问题。当主机名包含.sub.com并仅执行简单的重定向时,将匹配一个。下一个会将.sub.com附加到主机名。
这些基于https://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/#redirect-https的#4
最后,在您证明一切正常后,将两个规则中的“发现”都更改为“永久”。
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTP_HOST}" pattern="\.sub\.com$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
</rule>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}.sub.com/{R:1}" redirectType="Found" />
</rule>