自 Discuz! X3 开始,已经加入了对https的支持,如果你使用https访问论坛,论坛中的链接没有变成https,按照以下修改:
$ C8 r3 O8 B7 T F& l1 P5 v4 z7 d& t ]0 s( o! p
source/class/discuz/discuz_application.php(约第187行处):
/ E% }9 ~. `& ^. i- $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码 修改为:
) \$ W# r3 E* U' Y3 s7 d4 q- $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码
; n) r2 l7 j5 S. A4 V8 e' i# D
2 j5 n1 \% z) A: X6 g7 X: b& Nuc_server/avatar.php (约第14行处):
2 p8 ?5 E% h( r; ]- define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码 修改为:
, g. [3 S) u0 A: k' s- define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码
3 J" F. L" k) K' B, ~+ U" f, c X
在后台还有一些设置,可能会干扰https的使用后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https开头的UCenter后台 > 应用管理 > 应用的主URL,修改为https开头另外在 后台 > 全局 > 域名设置 中的一些设置也可能使https失效,如果进行了之前的几步还是无法启用,可以暂时删除这里的设置试试。
% C4 ~8 H0 u, y* W& |8 ^. O5 N
" f. u0 J0 j" Z; h) l6 K
; h- [ M$ V: Q( D
- c& s- M2 W6 Y0 ]- G
{$ v' t7 a5 n2 b5 X- v |