自 Discuz! X3 开始,已经加入了对https的支持,如果你使用https访问论坛,论坛中的链接没有变成https,按照以下修改:
7 X8 y7 G# X4 k8 h. k6 P# z- @+ G9 N$ s3 T& j0 ~& u2 v) |1 `/ [
source/class/discuz/discuz_application.php(约第187行处):
: e) w1 l R3 g3 K- $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码 修改为:
+ P( N- e# S- L. K) k& h- $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码
) O$ j2 _$ B+ q
+ s$ C" e2 H; a& U6 \ j
uc_server/avatar.php (约第14行处):2 Z5 v1 d& T; U9 t
- define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码 修改为:
: }6 Y( V/ O$ ^2 ?4 ~2 {- 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'], '/'))));
复制代码
" m) G7 f( k$ G! Q
在后台还有一些设置,可能会干扰https的使用后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https开头的UCenter后台 > 应用管理 > 应用的主URL,修改为https开头另外在 后台 > 全局 > 域名设置 中的一些设置也可能使https失效,如果进行了之前的几步还是无法启用,可以暂时删除这里的设置试试。
* c4 f" p* h& y; s: g, T3 z! o. C3 r: W$ a
' |3 O ^3 x% D- O3 \! ~6 `2 D( x+ m+ Z: A2 H
6 J. F! X3 {5 v( a# E/ A! }+ w |