in , , , , , , ,

虛擬主機cPanel 教學:如何設定 HTTP 自動導向 HTTPS

一鍵開啟或手動修改 .htaccess,確保網站全程加密連線

1. 為什麼安裝 SSL 後還需要設定轉址?

您是否已經在 cPanel 主機上成功安裝了 SSL 憑證,但卻發現一個問題:為什麼在瀏覽器輸入網址時,有時候是 `https://` (安全鎖頭),有時候卻還是 `http://` (不安全)?

這是因為安裝 SSL 憑證,只代表您的主機「具備」了使用 HTTPS 加密連線的「能力」,並不代表會「自動」強制所有訪客都使用這條安全通道。在預設情況下,`http://` 和 `https://` 這兩條路徑是同時存在的。

若不設定自動導向,會帶來以下問題:

  • 訪客安全疑慮: 訪客仍有可能透過 `http://` 瀏覽您的網站,傳輸的資料未經加密。
  • SEO 排名分散: 對搜尋引擎來說,`http://` 和 `https://` 是兩個不同的網站。若兩者同時存在,會分散您網站的 SEO 權重,不利於排名。
  • 使用者信任度低: 瀏覽器會將 `http://` 標記為「不安全」,嚴重影響訪客的信任感。

因此,在安裝 SSL 之後,設定「301 永久轉址」,將所有 `http://` 流量全部導向到 `https://`,是建立安全網站的最後一哩路。本篇教學將介紹兩種在 cPanel 環境下最常用的設定方法。

2. 開始之前:確認 SSL 憑證已安裝成功

在您進行任何轉址設定前,請務必先確認您的 SSL 憑證已經安裝妥當。最簡單的檢查方式:

請手動在瀏覽器網址列輸入 `https://www.yourdomain.com` (將 `yourdomain.com` 換成您自己的網址)。

如果您能看到綠色或灰色的「安全鎖頭」圖示,並且網站內容正常顯示,代表 SSL 已成功安裝。如果您看到的是「您的連線不是私人連線」或相關錯誤,請先聯繫您的主機商解決 SSL 安裝問題,切勿在 SSL 憑證有問題的情況下設定強制轉址。

3. 方法一:cPanel 內建「強制 HTTPS 轉址」功能 (推薦)

這是目前 cPanel 主機最推薦、最簡單且最安全的方法,不需要動到任何程式碼。

  1. 登入您的 cPanel 控制台。
  2. 在「網域 (Domains)」功能區塊中,點擊「網域 (Domains)」圖示。
  3. 您會看到您帳戶下所有的網域列表。請見下方圖示
  4. 找到您要設定的網域名稱,查看其最後一欄「強制 HTTPS 轉址 (Force HTTPS Redirect)」。
  5. 將此欄位的開關從「Off」點擊切換為「On(已啟用)」。
    cpanel-force-https-redirect

就是這麼簡單!cPanel 會自動在後端為您配置好轉址規則。這項功能會自動將該網域及其所有子網域的 `http://` 流量導向 `https://`。

注意: 如果您的 cPanel 版本較舊,或主機商沒有開啟此功能,您可能不會在「網域」列表中看到這個開關。此時,請使用接下來的方法二。

4. 方法二:手動修改 .htaccess 檔案 (傳統作法)

如果您的 cPanel 沒有提供上述的一鍵轉址功能,我們就需要透過修改 `.htaccess` 這個設定檔,手動加入轉址規則。這是最傳統但也最可靠的方法。

4.1. 如何找到 .htaccess 檔案?

  1. 登入 cPanel,在「檔案 (Files)」區塊中,點擊「檔案管理員 (File Manager)」。
  2. 進入檔案管理員後,點擊右上角的「設定 (Settings)」按鈕。請見下方圖示
  3. 在彈出的視窗中,務必勾選「顯示隱藏檔案 (Show Hidden Files (dotfiles))」,然後按「Save」。(因為 `.htaccess` 是一個隱藏檔案)
  4. 在左側目錄樹中,點選您網站的根目錄(通常是 `public_html`)。
  5. 您現在應該可以在右側的檔案列表中看到 `.htaccess` 這個檔案了。
    cpanel-force-https-redirect

4.2. 強制 HTTPS 的 .htaccess 語法

  1. 在 `.htaccess` 檔案上按右鍵,選擇「Edit (編輯)」。
  2. 在跳出的編輯視窗中,將以下程式碼完整複製並貼到檔案的最頂端
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
  3. 點擊右上角的「儲存變更 (Save Changes)」並關閉視窗。

【語法解釋】

  • RewriteEngine On:啟動 cPanel 的 URL 重寫引擎。
  • RewriteCond %{HTTPS} off:設定一個條件:當目前的連線「不是」HTTPS (也就是 `off`) 時…
  • RewriteRule ^(.*)$ ... [L,R=301]:…就執行此規則:將訪客請求的所有內容 (`^(.*)$`),以 301 永久轉址的方式,重新導向到 `https://` 加上完整網址 (`%{HTTP_HOST}%{REQUEST_URI}`)。

重要提示: 如果您使用的是 WordPress,請務必將這段程式碼加在 `.htaccess` 檔案中 # BEGIN WordPress 標記的「上方」,以確保它最優先被執行。

5. WordPress 使用者特別注意事項

對於 WordPress 網站,除了上述的主機層級轉址外,您還必須完成一個關鍵步驟,就是「通知 WordPress 您的新網址」。

  1. 登入您的 WordPress 後台。
  2. 前往「設定 (Settings)」>「一般 (General)」。
  3. 檢查以下兩個欄位:
    • WordPress 位址 (URL)
    • 網站位址 (URL)
  4. 將這兩個欄位中的網址,都從 `http://` 手動修改為 `https://`。
  5. 儲存設定(您可能需要重新登入)。

這個步驟會確保 WordPress 未來產生的所有內部連結(例如圖片、CSS 檔案連結)都會預設使用 `https://`,能有效避免「混合內容 (Mixed Content)」的錯誤。

【新手捷徑】
如果您對修改程式碼感到不安,WordPress 也有許多外掛能協助您完成轉址,例如「Really Simple SSL」。安裝並啟用它之後,它會自動幫您處理上述的 .htaccess 轉址和 WordPress 網址設定。

6. 如何驗證轉址是否設定成功?

設定完成後,請依照以下步驟驗證:

  1. 清除所有快取: 清除您網站上的快取外掛 (WP Rocket, LiteSpeed Cache 等),以及您瀏覽器本身的快取。
  2. 使用無痕視窗: 開啟瀏覽器的「無痕模式」或「私密瀏覽」。
  3. 手動輸入 HTTP 網址: 在網址列「手動」輸入您網站的 `http://` 版本 (例如:`http://www.yourdomain.com`)。
  4. 檢查結果: 如果設定成功,瀏覽器應會立刻自動跳轉到 `https://www.yourdomain.com`,並且在網址列顯示安全鎖頭圖示。

7. 常見問題 (FAQ)

Q1:設定轉址後,網站出現「ERR_TOO_MANY_REDIRECTS」(重新導向次數過多) 錯誤?

這通常是發生了「轉址迴圈」。最常見的原因是您在 cPanel 設定了 `http` -> `https` 的轉址,但同時在您的網站程式 (如 WordPress) 或 Cloudflare 等 CDN 服務中,又設定了 `https` -> `http` 的反向轉址,導致訪客在兩者之間無限跳轉。

解決方法: 請檢查您的 WordPress 設定與 CDN 設定,確保所有轉址規則都是一致地導向 `https://`。

Q2:轉址成功了,但網站鎖頭是灰色的,並顯示「混合內容 (Mixed Content)」警告?

這代表您的轉址設定是「成功」的,但您的「網頁內容」有問題。這個警告的意思是:您的主頁面 (HTML) 是透過安全的 `https` 載入,但頁面中的某些元素(如圖片、CSS、JS 檔案)仍然是使用不安全的 `http://` 連結來呼叫的。

解決方法: 您需要找出並修復這些 `http://` 連結。對於 WordPress 用戶,最快的方式是安裝 “Better Search Replace” 外掛,將資料庫中所有的 `http://yourdomain.com` 替換為 `https://yourdomain.com`。

Q3:cPanel 的「強制轉址」和修改「.htaccess」,哪個方法比較好?

優先推薦使用 cPanel 內建的「強制 HTTPS 轉址」功能。 這是由 cPanel 官方提供的標準做法,最為簡單且不易出錯。手動修改 `.htaccess` 檔案是傳統且有效的方法,但對於新手來說,如果程式碼貼錯位置或語法有誤,可能會導致網站 500 錯誤。只有在 cPanel 沒有提供一鍵轉址功能時,才建議使用 `.htaccess` 方法。

cPanel更多教學請參考以下文章:

cPanel JetBackup 5 備份還原教學
cPanel Email 帳號設定教學
在 cPanel 輕鬆架站不求人
cPanel 上使用免費 AutoSSL 憑證
Linux 主機 cPanel 自行申請並安裝 SSL 教學

 

文章來源:https://wpoki.com

Written by Nania

虛擬主機空間使用新手,WordPress 免費架站程式菜鳥,請大家多多指教

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

GIPHY App Key not set. Please check settings