貓城
BLACKCAT CASTLE

如何將http強制轉址到https?

   73 VIEWS
如何將http強制轉址到https?

歡迎來到黑貓城,我是時雨の町站長 ─ 時雨。

如何申請並安裝免費的SSL證書(確保網站安全)這篇我們已經學會怎麼安裝 SSL,有安裝 SSL 的網站就可以使用「https」通訊協定,不過這不表示「http」就不存在了,如果沒有設定強制轉到「https」,那麼還是會有人跑到「http」的頁面上。

如此一來,不僅不安全的網頁仍然存在,且以 SEO 的立場來看也是會分散流量與權重,因此整合到 https 就顯得更加重要。

用 .htaccess 來強制轉址

http 轉 https 的方法不少,但一般會建議使用 .htaccess 來轉址,除非寫錯,否則它不但方便而且不會有任何不好的影響。

首先,在網站根目錄找到.htaccess檔案。

如果沒有找到,請先檢查是否有開啟顯示隱藏檔案,如果有開啟卻還是沒有就表示沒有這份檔案,那麼就要自行新增,新增的方式很簡單,請直接建立一個空白的記事本即可,然後將檔名置空,副檔名變更為.htaccess就行了。※ 「.htaccess」就是副檔名,這份檔案不需要檔名。

接著用文字編輯器打開檔案(註1),在開頭處貼上以下程式碼:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
註1:如果不知道怎麼打開就用記事本去開啟檔案即可,但建議下載 Sublime 或 Notepad++ 等文字編輯器作為日後編輯程式的習慣。
注意
如果 .htaccess 中已經有 RewriteEngine On 這句就不用重複貼上了。

程式碼說明

  1. RewriteCond %{HTTPS} off
    表示只處理非 HTTPS 開頭的連線要求,也就是只處理 HTTP 。
  2. RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    表示將所有的 HTTP 連線要求都進行重寫,全部改為 HTTPS。
  3. [R=301,L]
    R 表示轉址,301是指定轉址模式為「永久轉址」。L 表示結束。
「301」轉址很重要,這表示將原本網址的權重一併帶到新的網址,所以 http 的權重就會轉到 https 了。



時雨 時雨,時雨の町-日文學習園地站長,為了紀錄網站維護的日誌而架設本網站,並以家中黑貓命名為黑貓城,順道分享各種架站知識與相關的網頁程式語言,如果你喜歡我的文章,請幫我按讚哦(*´ω`*)。也歡迎各位到我的日語教學網站學習日文 :)

LEAVE A REPLY

COMMENTS