discuz X2属于比较老旧的版本,目前对X2的HTTPS访问改造教程较少。我的这个教程目前是独家和首发。 discuz X2开启https,主要需要修改以下几个地方: F9 C8 O1 j6 Z
1、修改文件支持https:
' u. o) }1 _3 |: D修改下列文件:source/class/class_core.php 9 O" e8 e; r! L+ Q5 ~8 U
+ z3 e5 }$ S0 r2、修改文件去除tips提示:9 ]4 M$ X) Y+ r; Q* y
修改: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>
& _" M Q8 W$ W- _! B5 J3、修改uc_server/avatar.php文件
! L, \5 P7 |8 Huc_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访问地址
4 A& P6 i$ E! |5 e0 ?& A F/ \a、后台-全局-站点信息中将网站URL修改为https开头的 b、后台-站长-UCenter中将UCenter 访问地址修改为https开头,同时将头像调用方式修改为:静态 c、进入UCenter中将应用URL修改为https开头
" J/ C1 Z3 h/ K) s5、修改UCenter配置,确保UC通信成功
' ?( o0 t% @) I7 m
% ^/ [( x* y! @* n& a0 N/ {6 R6 h) H( j2 } j0 t
6、开启https后,上传图片出现“内部错误,无法显示此内容”,按下面操作解决:(没有出现该问题这不用修改此项)/ A, m4 q5 n$ p7 r$ J
站点的所有 Ajax 内容都显示“内部错误,无法显示此内容”
" K% M! ]7 ~7 h! V+ iDiscuz!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);
6 r' A" g0 q( c( p修改为:$this->var['inajax'] = empty($this->var['gp_inajax']) ? 0 : 1; 7、服务器端为网站开启https访问
4 n: g3 N6 n% g% J' X. ~8 o, Y, g5 L! Q4 v. v" R3 k
8、设置301跳转- I; q/ ~% C, l6 ?( D, e/ b
+ A/ Z: O1 m$ a4 P" d到此为止,discuz X2的https改造已经基本完成。 9、修改source/language/lang_email.php文件 修改此文件主要是保证邮件验证功能正常使用
u1 R5 y$ \- w) G6 y" f |