• 微信号:Zh-y9213
您当前的位置:爱资源分享网 > > 网站源码 > 教程合集

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

栏目:教程合集时间:2022-02-28 19:47阅读数:54人阅读

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通信失败。


在线预览
资源均来自第三方,谨慎下载,前往第三方网站下载

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:737597453@qq.com