WordPress多站点上的HTTPS和Http登录问题

时间:2020-05-15 作者:Theophilus

我安装了一个子域WordPress

我的多站点主站点正在使用免费的C面板SSL证书,但我的子站点没有(我的主机不允许使用免费的SSL进行通配符)

This is the issue:当我登录https时,我不会自动登录http,反之亦然

有谁能建议一种方法,可以自动登录https和http,而无需再次登录?

1 个回复
SO网友:Rup

问题是,当您登录HTTPS站点时,WordPress会在身份验证cookie上设置“仅安全”标志,因此此cookie不会发送到您的仅HTTP站点。您可以通过重写secure_signon_cookie 过滤插件或主题并返回false:

function no_secure_signon_cookie( $secure_cookie, $credentials ) {
    // Don\'t generate secure-only authentication cookies even on HTTPS
    return false;
}
add_filter( \'secure_signon_cookie\', \'no_secure_signon_cookie\', 10, 2 );
(实际上,这可能需要在mu插件中:我不确定是否为wp登录加载了普通插件和主题。)

但不要这样做:修复您的子域以通过HTTPS工作,即使这意味着获得一个单独的免费证书,其中明确包含所有子域(前提是您对服务器有足够的控制权,可以自己运行certbot或类似的证书)。

(尽管如此,我不明白您如何登录到HTTP站点而不通过HTTPS登录,因为多站点使用主站点进行所有登录,而这将是HTTPS站点?)