discuz X2开启https访问最新最全教程【独家+首发】 [复制链接]

moqu8 2018-12-10

2212 0
discuz X2属于比较老旧的版本,目前对X2的HTTPS访问改造教程较少。我的这个教程目前是独家和首发。
discuz X2开启https,主要需要修改以下几个地方:
1、修改文件支持https:
修改下列文件:source/class/class_core.php


2、修改文件去除tips提示:
修改:source/function/function_cloud.php,在最下面删除以下代码:
<script src="http://discuz.gtimg.cn/cloud/scripts/discuz_tips.js?v=1" type="text/javascript" charset="UTF-8"></script>

3、修改uc_server/avatar.php文件
uc_server/avatar.php (约第 13 行处)查找:
define('UC_API', strtolower(($_SERVER[‘HTTPS’] == ‘on’ ? ‘https’ : ‘http’).’://’.$_SERVER[‘HTTP_HOST’].substr($_SERVER[‘PHP_SELF’], 0, strrpos($_SERVER[‘PHP_SELF’], '/'))));
修改为:将http修改为https
4、修改站点URL、uc访问地址
a、后台-全局-站点信息中将网站URL修改为https开头的
b、后台-站长-UCenter中将UCenter 访问地址修改为https开头,同时将头像调用方式修改为:静态
c、进入UCenter中将应用URL修改为https开头

5、修改UCenter配置,确保UC通信成功


6、开启https后,上传图片出现“内部错误,无法显示此内容”,按下面操作解决:(没有出现该问题这不用修改此项)
站点的所有 Ajax 内容都显示“内部错误,无法显示此内容”
Discuz!X 增加了 Ajax 的安全验证机制,如果您的服务器因设置不当不兼容此验证机制,可修改 source/class/class_core.php 文件,查找:
$this->var['inajax'] = empty($this->var['gp_inajax']) ? 0 : ($_SERVER['REQUEST_METHOD'] == 'GET' && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' || $_SERVER['REQUEST_METHOD'] == 'POST' ? 1 : 0);

修改为:$this->var['inajax'] = empty($this->var['gp_inajax']) ? 0 : 1;
7、服务器端为网站开启https访问

8、设置301跳转

到此为止,discuz X2的https改造已经基本完成。
9、修改source/language/lang_email.php文件
修改此文件主要是保证邮件验证功能正常使用


最新回复 (0)
返回
支持中心
邮箱:winkill2012@qqcom
新站优化中!部分功能尚未完善,敬请谅解!
支持中心