我有一个小型 Wordpress 网站来分享我的爱好。我的网络主机启用了 SSL,我成功设置了“强制 SSL 登录”选项。但由于我一开始没有使用 SSL,因此源中存在混合协议,我的查看者会收到“不安全内容”警告。
我想要的是:
- 观众 A 访问“http://example.com",所有 URL 均使用“HTTP”
- 查看者 B 访问“https://example.com”,所有 URL 均使用“HTTPs“
基本上,wordpress 应该检测查看者是否想要使用 SSL,并相应地更改 URL/链接。
我得到的是:
我找不到任何设置或插件来做到这一点。每个教程或插件都假设您要强制执行 SSL。我不想要它,因为它会减慢页面速度并增加 CPU 负载。
您知道一个好的插件吗?或者您能说服我强制使用 SSL 吗?
答案1
你可以浏览你的内容,找到所有链接、href 等,而不用写http://路径/file.ext或者 https:// 您只需写入 //path/file.ext
任何现代浏览器都会根据访问的 URL 自行填充模式。
它们被称为无架构 URL:https://stackoverflow.com/questions/9481193/how-safe-is-it-to-use-domain-com-schema-less-links
不确定是否有插件可以为您完成此操作。
如果你恰好运行 Nginx,你也可以对每个请求运行字符串替换。参见http://nginx.org/en/docs/http/ngx_http_sub_module.html了解详情。它看起来像:
location / {
sub_filter 'http://' '//';
sub_filter 'https://' '//';
}
有多种方法可以实现 URL 转换的物流。