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文件
修改此文件主要是保证邮件验证功能正常使用
历史资源提醒--必看
该页面资源/教程来自原魔趣吧历史资源转移,因发布历史久远,部分资源/教程可能已失效或无法在最新版程序中安装使用!DZ资源建议在Discuz3.4及以下版本使用,PHP版本建议5.6。资源仅提供做代码研究学习使用!
因改版,部分贴内链接将无法正常跳转,如链接失效或未正常跳转,请利用站内搜索功能搜索资源名称获取对应资源!