这里的第一次海报。我有一个问题迫使特定网站https。我试过的是web.config中的多个url重写代码块强制它为https,但每次尝试时,我都会继续循环。 我得到循环的原因,我相信是因为另一家公司拥有该网址,它正被重定向到我们。以下是我的想法:
我对这个假设是否正确?
我试图找到任何方法强制这个https而不会得到这个循环。任何想法或建议?我也对任何故障排除想法持开放态度。我尝试使用Fiddler,但它只是向我展示了循环,这是我能看到的。
这是迄今为止我尝试过的配置,它给了我循环:
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
还有这一个:
<rewrite>
<rules>
<rule name="TM_HTTP_TO_HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<!--IF HOST IS TEST.OTHERCOMPANY.COM -->
<add input="{HTTP_HOST}" pattern="^www\.test\.othercompany\.com$" ignoreCase="true" />
<!--IF REQUESTED URL IS ON HTTP PROTOCOL MEANS NON SECURE PORT (PORT!=443) -->
<add input="{SERVER_PORT}" pattern="^443$" negate="true" />
</conditions>
<!--Redirect ON HTTPS PROTOCOL -->
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" logRewrittenUrl="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
谢谢。