您当前的位置:主页 > 教程合集 > 网站建设网站利发国际网站建设

discuz部署https(ssl)后会员无法登录的解决方案

发布时间:2018-03-27编辑:余斗阅读:(0)字号:
    discuz部署https后台无法登录多半原因是因为discuz采用$_SERVER[‘HTTPS’]方式判断,而有的虚拟主机不支持$_SERVER[‘HTTPS’]方式判断同时也不支持$_SERVER['HTTP_HOST'],此时需使用$_SERVER['HTTP_FROM_HTTPS']进行判断,其他php程序同样适用。 解决方法:打开source/class/discuz/discuz_application.php(第188行左右),查找代码:

    $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
     
    修改为:

    $_G['isHTTPS'] = ($_SERVER['HTTP_FROM_HTTPS'] && strtolower($_SERVER['HTTP_FROM_HTTPS']) != 'off') ? true : false;
     
    打开uc_server/avatar.php(第14行左右): 查找代码:

    define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
     
    修改为:

    define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTP_FROM_HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
     
    另需注意:使用301方式强制将http跳转到https后会导致后台uc通信失败。
关键字词Discuzhttpsssl无法登录
余斗余斗
  1. 转载请注明:discuz部署https(ssl)后会员无法登录的解决方案
  2. 版权声明:本站原创文章,由发表在网站建设分类下,于2018-03-27最后更新
使用embed标签调用腾讯视频的修正方法
ecshop部署https(ssl)后会员无法登录的解决方
手机扫一扫 随身带着看

利发国际

百度360搜索搜狗搜索