在web.config中重定向到https:// www

时间:2017-08-23 11:25:30

标签: web-config iis-10

我希望将example.com和www.example.com重定向到https://www.example.com

目前,我在web.config中有这两个规则:

<rule name="HTTP/S to HTTPS Redirect" enabled="true" stopProcessing="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAny">
          <add input="{SERVER_PORT_SECURE}" pattern="^0$" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
        </rule>
<rule name="Root Redirect to www" stopProcessing="true">
                        <match url=".*" negate="false" />
                        <action type="Redirect" url="{C:1}://www.{HTTP_HOST}/{R:0}" />
                        <conditions trackAllCaptures="true">
                            <add input="{CACHE_URL}" pattern="^(.*)://" />
                            <add input="{HTTP_HOST}" pattern="^(?!www\.).*" />
                        </conditions>
                    </rule>

是否可以将它们组合在一起,因此用户只能体验一次重定向?

更新: 这似乎可以解决问题:

<rules>
<clear />
    <rule name="Redirect non-www OR non-https to https://www">
                  <match url=".*" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{HTTP_HOST}" pattern="^example.com$" />
                        <add input="{HTTPS}" pattern="off" />
                    </conditions>
                    <action type="Redirect" url="https://www.example.com/{R:0}" redirectType="Permanent"/>
                </rule>
    </rules>

有任何缺点吗?

0 个答案:

没有答案