問題描述
我安裝的 MultiSite 的 URL 設置為 http://example.com,但現在我想強制所有請求通過 HTTPS,所以我試圖將 URL 更改為 https://example.com 。我經歷了數據庫並將所有 siteurl 和 home 值更新為 https,但是該站點仍然通過 HTTP 加載,而不是重定向到 HTTPS 。
我知道我可以設置一些 htaccess 規則,但這很容易出錯。在常規安裝中,WordPress 將自動將所有請求重定向到 siteurl 和 home 設置中定義的規範 URL,所以我假設 MultiSite 也是。
最佳解決方案
有將插件設置為 SSL 的插件。為什麼不使用其中的一個?
您是否已安裝並啓用 SSL 證書?
次佳解決方案
我遇到同樣的問題:使用 WordPress 多站點,沒有選項或設置來定義站點域是 HTTP 還是 HTTPS 。即使更換了數據庫中的所有事件,站點訪問者仍然可以在 HTTP 中輸入和瀏覽站點,而不會被重定向到 HTTPS 。
以下簡單的解決方案適用於我:我將 mod_rewrite 規則添加到我的.htaccess 文件中,就在 WordPress 特定的重寫規則之前。
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
由於這個規則沒有定義一個特定的域,它是完美的 WordPress 多站點的需求。
我發現這個規則在以下線程:https://stackoverflow.com/questions/4398951/force-ssl-https-using-htaccess-and-mod-rewrite
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。