请选择 进入手机版 | 继续访问电脑版

雨哲工作室

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
雨哲工作室 资料库 Discuz!X常见问题 iis上开启ssl(https)访问时程序获取的是http的解决方法
  • 全部资料
  • 查看资料

iis上开启ssl(https)访问时程序获取的是http的解决方法

2019-10-13 12:19|分类: Discuz!X常见问题 |发布用户: 雨哲

有用户在开启ssl后,用https访问的时候,程序中获取的$_G['siteurl']变量值却仍然是http的路径,经过仔细分析,最后才发现discuz中判断ssl时用的$_SERVER['HTTPS']是off值,没有正确获取到https。

后来测试发现不只$_SERVER['HTTPS']无法正确获取,而且$_SERVER['SERVER_PORT']得到的端口也仍然是80,最后根据客户的环境变量,改成$_SERVER['HTTP_X_CLIENT_SCHEME']来判断就正常了。

修改source\class\discuz\discuz_application.php:

查找:

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

改为:
$_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') || $_SERVER['SERVER_PORT'] == '443' || $_SERVER['HTTP_X_CLIENT_SCHEME'] == 'https' ? true : false;

分享到: 手机访问 分享给QQ好友 分享到QQ 分享到QQ空间 QQ空间 分享到新浪微博 新浪微博 分享到人人 人人网

手机扫码访问

企业微信 : 雨哲手机扫描添加到联系人手机扫描直接访问

QQ|关于我们|Archiver|手机版|小黑屋|雨哲工作室

GMT+8, 2020-6-1 04:36 , Processed in 0.075335 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部