美工学习 发表于 2023-11-29 16:29:31

虚拟主机WordPress部署SSL注意事项(301跳转)

注意事项:
1.如果您的主题/插件使用绝对地址调用了http请求可能会导致网站打开会乱码,或不能有绿锁标识,需要联系程序提供商将所有http请求修改为https2.由于程序中用于检测https的标识“$_SERVER['HTTPS']"未启用,可能导致网站访问时出现循环,不能登录后台等,需要修改该检测标识
3.因为修改了wp-includes/load.php或wp-includes/functions.php,自动更新wordpress后会还原这两个文件,可能导致页面错乱,需要重新按照此教程重新修改对应文件

先参考: 完成SSL部署.部署时候请勾选强制/自动跳转https;


如果使用云服务器配置https后wordpress后台无法登录提示将您重定向的次数过多,只需要在网站根目录的wp-config.php开头加入以下代码,即可完美解决此问题:$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
完成后登录WordPress后台 - 设置 - 常规 - 将WordPress地址(URL)/站点地址(URL) 地址修改为https格式,如下截图。添加完毕.浏览器访问网站前后台测试是否正常,如果正常则不需要做下面操作.

部份url地址已写入数据库通过后台方式无法更新的,可以使用phpmyadmin或其他管理工具将数据库中http替换为https(风险操作进行前请务必先对数据库进行备份)

继续修改wp-includes/load.php或wp-includes/functions.php 这个文件,搜索is_ssl找到对应的函数,将$_SERVER['HTTPS']修改为$_SERVER["HTTP_FROM_HTTPS"](修改文件前请注意备份)。

或将此函数修改为:
function is_ssl() {
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'){
return true;
}
elseif (isset($_SERVER["HTTP_FROM_HTTPS"])&&$_SERVER["HTTP_FROM_HTTPS"]=='on'){
return true;
}
elseif (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){
return true;
}
else{
return false;
}
}

页: [1]
查看完整版本: 虚拟主机WordPress部署SSL注意事项(301跳转)