我有一个问题,我似乎找不到任何在线解决方案。所有搜索都是http到https或非www到www但没有前面的http。
我的网站不会将https://domain.com重定向到https://www.domain.com。它将domain.com重定向到www.domain.com就好了,只有当https已经输入时它才会重定向,从而产生错误。
我将此用于将http重定向到https:
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
编辑:经过实验,它设法正确地将http://domain.com重定向到https://www.domain.com(即从没有s到s和www)。
答案 0 :(得分:0)
在添加之后想出来:
<rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^[^www]" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://www.domain.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
最重要的是,删除IIS中的主机名字段'www.domain.com&gt; <站点绑定>编辑&gt;主机名,并且未标记“需要服务器名称指示”。在此处输入我的域名导致上述代码无效。我最初认为这是必要的,但不是这样。