关于WordPress开启SSL后无法从前台登陆后台的解决方法


昨天对素材站的CDN开通了SSL,启用HTTPS。因为主机用了宝塔的面版,过程还算简单,教程一大堆,一步步一步照着做就好了。 在实际使用中发现一切都还好,速度方面目测也没有什么太大影响。但是当我们通过前台登陆后,想要通过链接进入后台(https://域名/wp-admin/)时发现,居然自动退出了WordPress的前台登陆。 找了很多资料,大多说是cookie的相关问题。因为网站设计的软件站前台登陆是通过AJAX的方式做的,相信会有很多朋友也是如此,会在开通SSL后遇到雷同的问题。资料有很多,就不再一一复制转发了,现直接给出使用AJAX方法登陆的网站在开启SSL(HTTPS)之后前台登陆后台自动退出登陆的解决方法。 找到ajax登陆的文件,在ajax登陆验证的函数里找到$login变量,如果发现变量是如下所示,就可以继续往下看了。 将如下代码:

$login = wp_signon($creds, false);

修改成:

//$login = wp_signon($creds, false)
$login = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? wp_signon($creds, true) : wp_signon($creds, false);//自定义开启ssl后的$login变量

其原理就是增加了一条网站是否开启了HTTPS的判断,大家各自举一反三即可。

发表回复

后才能评论

评论(1)

  • 明月登楼 2022年1月17日 下午9:20

    在wp-config.php里开启后台强制开启SSL即可了!不用这么麻烦!