1. 程式人生 > 其它 >http重定向到https

http重定向到https

本教程主要是對 網站http重定向到https,其中包括目前市面上常用各種伺服器環境(Apache,Ngnix,IIS7系列)設定方法。

第一“IIS7” 環境中的設定方法
1.下載安裝IIS的URL重寫模組:Microsoft URL Rewrite Module

2.安裝完畢 在Internet服務中找到SSL設定
操作 ------》取消勾選“SSL設定”中的“要求 SSL”

3. 選擇要配置的網站,點選之後,找到“URL重寫

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

5.選擇“空白規則”

名稱:HTTP to HTTPS redirect

模式:(.*)

6. 條件輸入:{HTTPS} 模式:off 或 ^OFF$

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

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

8**.配置完成後“應用”到當前站點**

第二“Apache” 環境中的設定方法
1.先開啟url重定向支援
@1開啟Apache/conf/httpd.conf,找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉#號
@2找到你網站目錄的段,比如我的網站目錄是c:/www,找到
<Directory “C:/www”>

修改其中的 AllowOverride None 為 AllowOverride All3)重啟apache服務
2.設定重定向規則
@1在你網站目錄下放一個.htaccess檔案。windows環境下,不能把檔案直接改名為.htaccess,會提示你必須輸入檔名。所以我們先新建一個“新建文字文件.txt”文件,記事本開啟,選擇另存為,儲存型別選擇“所有檔案(.)”,檔名輸入“.htaccess”,儲存。這樣便生成了一個.htaccess檔案。

@2編輯器開啟.htaccess檔案(網站根目錄下的檔案),寫入如下規則:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/tz.php
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]

總體來說上面規則的意思是:
如果訪問的url的埠不是443,且訪問頁面不是tz.php,則應用RewriteRule這條規則。這樣便實現了:訪問了 http://localhost/index.php 或者 http://localhost/admin/index.php 等頁面的時候會自動跳轉到 https://localhost/index.php 或者 https://localhost/admin/index.php,但是訪問 http://localhost/tz.php 的時候就不會做任何跳轉,也就是說 http://localhost/tz.php 和 https://localhost/tz.php 兩個地址都可以訪問

第三 “Ngnix ” 環境中的設定方法

2.現在nginx新版本已經換了種寫法。
下面是nginx http頁面重定向到https頁面最新支援的寫法:

server {
listen 80;
server_name my.domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name my.domain.com;
rewrite ^/ http://www.xxxxx.com/;
}
————————————————
本文摘自:https://blog.csdn.net/jackbon8/article/details/84578904