自 Discuz! X3 开始,已经加入了对https的支持,如果你使用https访问论坛,论坛中的链接没有变成https,按照以下修改:
0 j: U7 c9 S" d$ Y0 x5 ^2 g c, {/ C+ M1 o% y* m' ]
source/class/discuz/discuz_application.php(约第187行处):
6 n. R" m8 z# }# K- p5 T9 q7 @- $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码 修改为:
& f N4 C" j7 p: ?- $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码
0 e0 M H& c' i8 q
$ u- d+ e& g/ ]uc_server/avatar.php (约第14行处):( K& P9 t- V( r9 L9 p! l. K
- define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码 修改为:
! C* ]! f S1 K9 V( a0 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'], '/'))));
复制代码
- N m9 \& H" Y2 X- ]
在后台还有一些设置,可能会干扰https的使用后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https开头的UCenter后台 > 应用管理 > 应用的主URL,修改为https开头另外在 后台 > 全局 > 域名设置 中的一些设置也可能使https失效,如果进行了之前的几步还是无法启用,可以暂时删除这里的设置试试。
: o" ^& n Y- f; W0 O; {3 _
, n/ B& |# {' U* x9 H2 L; z; v4 y2 P( [8 S
+ q" Z$ T4 B, Z/ T5 S3 j, u9 b3 U. T
# d2 ^, Y6 ]# r F. O5 f$ `
|