自 Discuz! X3 开始,已经加入了对https的支持,如果你使用https访问论坛,论坛中的链接没有变成https,按照以下修改:! ^: J, R+ P2 w! t, R
, M7 ^ C2 Y2 Hsource/class/discuz/discuz_application.php(约第187行处):
0 y4 c' C- X- ]# A; i- $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码 修改为:2 o* N0 s" W' V: U; I
- $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码
3 o8 X) k4 R4 W# z7 ~( p% Z7 @$ T4 C2 \# U$ S3 n b& f+ q
uc_server/avatar.php (约第14行处):1 P7 W) a+ g. Z8 v. q9 K
- define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码 修改为:
& S( p+ Z3 q2 {) C7 G& 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'], '/'))));
复制代码
9 b z$ E0 i; b4 ~% x: V0 `
在后台还有一些设置,可能会干扰https的使用后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https开头的UCenter后台 > 应用管理 > 应用的主URL,修改为https开头另外在 后台 > 全局 > 域名设置 中的一些设置也可能使https失效,如果进行了之前的几步还是无法启用,可以暂时删除这里的设置试试。4 r" z% T, S6 {0 Q. r. T2 j0 {
/ h& T. F4 ~# ]/ S* q
" R U- d7 K! a9 I- S' R$ H
" F- M, _3 Z8 X. F- U- X
; p+ a1 N: F: K/ H' G) s. b |