问题描述

我安装的 MultiSite 的 URL 设置为 http://example.com,但现在我想强制所有请求通过 HTTPS,所以我试图将 URL 更改为 https://example.com 。我经历了数据库并将所有 siteurlhome 值更新为 https,但是该站点仍然通过 HTTP 加载,而不是重定向到 HTTPS 。

我知道我可以设置一些 htaccess 规则,但这很容易出错。在常规安装中,WordPress 将自动将所有请求重定向到 siteurlhome 设置中定义的规范 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。