cPanel 控制台開啟 mod_rewrite 及網址轉址教學全攻略
一步步教你開啟 rewrite 並實現自動跳轉 HTTPS
為何需要網址 rewrite 與強制 HTTPS?
現今網站已經強制推薦 https,且網站如 WordPress 及眾多架站工具都仰賴 mod_rewrite 進行網址改寫、SEO 優化、隱藏實際檔案路徑等。若未設定強制 HTTPS,網站將出現不安全連線提示,影響排名與信任感。
如何於主機空間 cPanel 控制台開啟 mod_rewrite?
- 至 cPanel 控制台→檔案管理員→進入 public_html 資料夾(若為子網域請進入對應目錄)→找到 .htaccess 檔案,加入
RewriteEngine on
即可啟用 mod_rewrite 功能。
.htaccess 轉向 HTTPS 實例
方法一:將 HTTP 強制導向 HTTPS,於 .htaccess 加入下列語法:
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.您的SSL網址.com/$1 [R,L]
方法二:更彈性且適用不同網址,推薦如下:
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] Header always set Content-Security-Policy "upgrade-insecure-requests;"
若使用 WordPress 或架站程式,也可用外掛(如 Easy HTTPS Redirection)自動寫入相關語法:
Windows 主機跳轉 HTTPS 解法
Windows 虛擬主機無法用 .htaccess,請參考 Plesk Obsidian 介面設定法:詳細請點這裡
為何已安裝 SSL 還要做 mod_rewrite 設定?
主機通常同時開放 http 及 https 連結,但 SSL 安裝後,只能確保 https 可用,若用戶仍以 http 存取則無加密。經由 mod_rewrite 強制跳轉,讓所有用戶都自動進入加密的 https 網站。
mod_rewrite 還可以做什麼?應注意什麼?
mod_rewrite 是 Apache 網頁伺服器的彈性模組,可改寫網址、實現 SEO 靜態化、防盜連、跳轉與路徑遮蔽。設定過多或寫法衝突會影響網站運作,建議:
- 紀錄所有 rewrite 指令用途
- 異動前先備份
- 避免多餘或重複規則
- 設定失效時,檢查 AllowOverride All 是否開啟,mod_rewrite 模組已啟用
官方文件:mod_rewrite 說明|防盜連設定範例
常見網址轉址設定範例
**提醒,下述範例中的”網域”都是範例,您需填入您自己的網域名喔。
1. 單頁轉址:
RewriteEngine On RewriteRule ^old-page\.html$ https://example.com/new-page.html [R=301,L]
將 old-page.html 301 轉址到新網址。
2. 全站網域轉址:
RewriteEngine On RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC] RewriteRule ^(.*)$ https://new-domain.com/$1 [R=301,L]
舊網域全站轉新網域。
3. 非 www 強制轉 www:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
實務維護與排錯小提醒
- .htaccess 必須放在正確的 public_html 根目錄
- 檔案開頭啟用
RewriteEngine On
- 出現 500 或規則失效時,請檢查語法、目錄、伺服器權限與模組啟用
- 養成異動備份習慣,定期檢視與備份
常見問答 FAQ
mod_rewrite 是什麼?
mod_rewrite 是 Apache 伺服器的動態網址改寫模組,常見於 SEO、網址簡化、安全加強等。
為何 https 跳轉無效?
常見原因:.htaccess 檔案錯誤、mod_rewrite 模組未啟用、Apache 設定 AllowOverride All 未開啟,或有語法衝突。
WordPress 必須自己手動寫 .htaccess 嗎?
大多數外掛會自動生成,無特殊需求可不必手動寫,建議設定後再檢查是否正確跳轉。
是否會影響網站 SEO?
正確設置跳轉對 SEO 有幫助(如強制 HTTPS、統一網址格式),但規則衝突可能導致網站無法存取,請小心測試。
主機商未開啟 mod_rewrite 怎麼辦?
請聯繫主機商協助開啟,或檢查控制台設定文件,確認 Apache 已啟用相關模組。
可以只針對特定目錄做 rewrite 嗎?
可以,把 .htaccess 放進指定目錄即可,規則只會影響該路徑與子路徑。
想了解更多CPANEL是什麼及更多有關cPanel教學請參考:
附加網域/別名設定
cPanel控制台虛擬主機,如何查看各資料夾空間使用紀錄
虛擬主機DNS SERVER的設定及其設定失效時的影響
Linux主機中如何使用.htaccess關閉緩存?
Linux虛擬主機cPanel控制台提供的Sitejet Builder是什麼?
GIPHY App Key not set. Please check settings
One Comment