自 Discuz! X3 开始,已经加入了对https的支持,如果你使用https访问论坛,论坛中的链接没有变成https,按照以下修改:
$ O! l1 `8 m( k* i5 t
. s3 X5 P4 ?5 I Wsource/class/discuz/discuz_application.php(约第187行处):
: r* I. J& |6 ]2 K- $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码 修改为:; ^( a1 n7 [4 c" y6 Z
- $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码
2 _1 i, W6 Q( j7 _8 |* k0 l2 A' Q) O+ `6 b
uc_server/avatar.php (约第14行处):% H4 o! m9 z; ~& r' f4 h P
- define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码 修改为:
( V: e2 F: K1 {7 D& {- V. x( e. L- 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'], '/'))));
复制代码
' n0 o( `+ x3 N7 O+ i在后台还有一些设置,可能会干扰https的使用后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https开头的UCenter后台 > 应用管理 > 应用的主URL,修改为https开头另外在 后台 > 全局 > 域名设置 中的一些设置也可能使https失效,如果进行了之前的几步还是无法启用,可以暂时删除这里的设置试试。# G* ` O$ N7 m* x1 Q' H9 ~
1 S" S9 x4 k, l: a% i! @# @
: _; y9 Z b2 j5 T) i( U$ D) s
+ t9 k; h# ]! J0 i1 I
# D" X8 W' I3 T, h/ S/ c |