1. 程式人生 > >IIS7 / IIS7.5 URL 重寫 HTTP 重定向到 HTTPS

IIS7 / IIS7.5 URL 重寫 HTTP 重定向到 HTTPS

2、IIS7 / IIS 7.5 下繫結 HTTPS 網站(購買Wildcard SSL泛域名證書可繫結多個子域名)參考上文

4、取消勾選“SSL設定”-》“要求 SSL”


5、ASP.NET站可直接修改web.config(與“6、IIS配置圖示”效果相同),例如:見<rewrite>...</rewrite>節點

複製程式碼

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <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>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

複製程式碼

配置項說明

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="HostNameRule1">
                    <match url="(.*)" />
                    <!--匹配所有條件-->
                    <conditions
logicalGrouping="MatchAny">
<!--當不是使用https協議訪問的時候--> <add input="{HTTPS}" pattern="^OFF$" /> <!--並且訪問的host不是xxx.com這種,例如www.xxx.com--> <add input="{HTTP_HOST}" pattern="^xxx\.com$"
negate="true" />
</conditions> <!--跳轉到https--> <action type="Redirect" url="https://xxx.com/{R:1}" /> </rule> <rule name="HTTPS redirect"> <match url="(.*)" /> <conditions> <!--當使用HTTPS協議訪問--> <add input="{HTTPS}" pattern="^ON$" /> <!--當訪問 https://www.xxx.com的時候 --> <add input="{HTTP_HOST}" pattern="^xxx\.com$" negate="true" /> </conditions> <!--跳轉到HTTPS--> <action type="Redirect" url="https://xxx.com/{R:1}" redirectType="SeeOther" /> </rule> </rules> </rewrite> </system.webServer> </configuration>

6、IIS配置圖示(圖形化的操作過程,與上步效果相同,適用於asp/php等站)

選擇要配置的網站,如:,找到“URL重寫”,沒有的話看上面第3步


進入“URL重寫”模組,點選“新增規則”


選擇“空白規則”


名稱:HTTP to HTTPS redirect

模式:(.*)



條件輸入:{HTTP}

模式:off 或 ^OFF$

 或 

重定向URL:https://{HTTP_HOST}/{R:1}

重定向型別:已找到(302) 或 參閱其它(303)

配置完成後“應用”到當前站點:


URL重寫配置結果:


至此配置完成