腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

[知识库]discuz X2.0、2.5、3.0、3.2、3.3、3.4全站https教程

2
回复
1647
查看
[复制链接]

765

主题

779

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
33029
发表于 19-8-26 10:29:54 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
目前各位站长使用最多的discuz版本应该是x3.2,部分建站较早的网站可能仍在使用X2.5的版本,还有部分追求新版的站长在使用X.3.3的版本。不过总的来说,X3.2是discuz官方发布的最后一版,也是目前为止功能最全最稳定的一个版本。! V$ b. [1 {+ ^/ d. e5 g" P

* K3 w" ~7 r  ?) Sdiscuz各个版本其实都对https有一定的支持,不过都不是很完善,不管哪个版本仍然需要通过修改disucz的源文件来实现对https的完美支持。+ l. o1 _* U% L. [% Z! N, f
5 G' d* H) O4 S; w* B) K
下面我就不同版本来给大家讲解下如何修改源文件来支持https。
# |0 I9 ~( _5 r: r" b0 ~1 s: ?- u* z1 C$ d
discuz X2.0
3 b8 B- H9 q0 g$ ~3 p' q1 g. c) a$ e) U' q0 o/ U3 Y
x2.0的版本用的人不多了,但我这里还是提供一份X2.0的https改造教程:http://bbs.qiuqiufa.com/t-825.html% T5 Y, |+ k# R& H; p8 t. q
: N) s" R( R" [9 F% Z. J7 C0 ~
discuz X2.5:
& x: d$ F/ A2 X+ _' ?  A( ?8 w  W0 z$ }8 r, U
X2.5的版本比较老旧了。不过经过我的研究,已经写出了X2.5的https改造教程:http://bbs.qiuqiufa.com/t-826.html
2 t$ I7 g3 w+ }( Z3 E! B
* L4 _' F1 e# |, C8 Tdiscuz X3.0:
) f# l6 E, p' c7 D3 A3 _9 i9 A! y# @4 v: M* m
X3.0的版本比X2.5较新,可以按照X3.2的修改方式来进行discuz的https改造。
) {7 n3 R9 x! y% K
& u+ \5 m! v- G4 q  |* e. u! @discuz X3.2:
* O1 U' I4 r9 y9 r3 O3 x: U+ I( t5 l3 @( R# g
我的所有教程,大部分是针对X3.2进行撰写的,所以在X3.2的https改造上教程已经非常完美了。, e# E+ j1 S+ B# x; k; e

" K* t" q2 F5 K; P8 sdiscuz X3.2开启支持https主要需要修改一下几个地方:
; b/ Y9 Z+ O4 [+ K3 n- R" `7 Y7 Y8 P! H. a0 L% p
1、查找修改文件discuz_application.php ; O/ F+ D; O, B, e9 X$ c
- V# W* Z! y+ N+ H. g2 q2 b
2、查找修改文件avatar.php ——具体的修改教程可以看这里:http://bbs.qiuqiufa.com/t-828.htmldiscuz X3.3:5 k- d  ^0 i8 H7 v

& f' j9 k5 `" SX3.3版本是目前discuz名义上的最新版本,X3.3对比X3.2的升级主要体现在对php7.0的支持上,同时对https的支持会比X3.2要好一点。% T% ?0 U9 @3 D7 s! r( g5 P
% J2 q" S, R8 B( `
但是,如果我还是不建议各位站长盲目升级到X3.3,特别是已经稳定运营的站点。
, A" }( R) h0 O% T* Q5 d' n3 f$ M9 a( Q$ Z5 }
discuz X3.3开启https的方法比较简单:
- ~4 N( n6 ~; E. M4 [) D4 e0 D4 L) H( d- V
1、查找修改文件discuz_application.php :
: g: b' c: J1 t* J
$ C' j: r6 O# J9 X& x将第187行修改为:
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码
2 Y4 w9 W, j0 B; d
删除第188行,
! ]3 F9 x) s7 X' O0 c
! x/ J, i( a; v) Z2 o* m( u5 s将第189行修改为:
  1. $_G['siteurl'] = dhtmlspecialchars('http'.($_G['isHTTPS'] ? 's' : '').'://'.$_SERVER['HTTP_HOST'].$sitepath.'/');
复制代码
或者:0 s1 R3 r# X; ~7 G
修改为:
  1. $_G['isHTTPS'] = true;
复制代码

3 ?; D5 q/ G! F/ C, [1 l2、查找修改文件avatar.php $ N) w& A% D! v2 m* Z; [+ Z! E

% F: ~+ X. H' k3 O! g具体的修改教程可以看这里:http://bbs.qiuqiufa.com/t-828.html
1 z, q% _8 H8 r. S3 A2 j
; `, L4 ]4 A% r+ B, a我的考虑主要是以下几个方面:
" a' e; I, R+ y/ ~5 b; I
0 a) v, }! t  h- K/ p& k" O1.X3.3每个月都有迭代新版本发布,如果你是想认真做网站,特别是稳定运营的网站,不建议盲目追新版。因做网站第一要求是稳定。0 k' @. r% A4 V5 x% P5 J1 S6 r

. ]/ m0 |9 ^2 ^/ g# j2.X3.3的主要改进是在对php7.0的支持上。升级php版本到7.0后,确实会使网站运行加快一点,但是目前discuz应用中心现有的插件和模板能够完美兼容的少之又少。所以,盲目升级到X3.3版本如果出现插件不兼容无法使用,模板错位等bug,得不偿失啊。, f, v6 v( l" n" I: d! j% h

4 }+ H8 @! C9 q7 x% y( ^! x& m
; D3 K; ]; o9 s) T3 hdiscuz X3.4:
2 r( c1 c2 E. t( F  H& I
* i! W) J, [$ J' B1 H$ X  k1 ^/ h* }2 [X3.4对https支持比较友好了,可以先在服务器上开启https然后看支持的效果好不好,如果不好,按照3.3的教程修改即可。
) o6 s  J" j: \) G- l3 k3 a" k) l7 p: q6 V' ~3 S
二、开启https后的问题处理:/ c! r" S  G9 |0 N: @% X
- B! T! t/ G) W, w* H, I; a% H1 |4 L
ucenter通信失败的问题:http://bbs.qiuqiufa.com/t-827.html% F9 ?- N) F% O9 @
Discuz两行代码支持301到HTTPS情况下的头像修改 http://bbs.qiuqiufa.com/t-829.html' ]1 t8 |8 V7 y* v3 T) S2 P$ g
# h- f; `1 p( \- D) a# Z& E
应用中心无法访问的问题:http://bbs.qiuqiufa.com/t-830.html
- h3 E. |. q$ [0 C* H5 ]$ Q1 C, a- H
百度联盟广告无法展示的问题:http://bbs.qiuqiufa.com/t-831.html
0 o0 }' S+ ~, ~% L
8 ?; l+ d$ n( s' Q$ J/ y9 K页面排版混乱的问题http://bbs.qiuqiufa.com/t-832.html% t0 x: `* y/ e- l
: v# L" `8 S1 k) f# O3 }0 f
浏览器提示不安全的问题:http://bbs.qiuqiufa.com/t-833.html
" E$ G: t7 s: _& \- `
: ]+ p$ E! ~( q
+ l0 d( L7 v% U' u, s- j补充说明:                     , j2 `* C' K& K1 J8 c7 h: Z5 J; T
  Z  @/ m7 s0 a) ^
测试服务器环境是centos6.8+nginx+php5.6,以上教程在这个环境下测试是没有问题的。
7 a5 C( S! @* a) ^* {2 z, Q2 g. X) r4 [9 I
但是在其他环境,如apache,IIS等下未经过详细测试。$ @1 l3 o; Q/ O; S5 T5 V( ~

1 I' }7 K+ ]- g- C6 T0 z如果按照以上教程修改后,发现有错误,可以先还原被修改的文件。
7 c1 h6 ]# k7 e& F# \: V! l" @2 |! n  u
经过测试:在IIS7+护卫神php5.6环境下,可以不需要修改discuz_application.php文件就可以开启https。
! R- I5 s! t4 a7 p' }! U# E, z
0 N+ o3 y2 v0 G至于apache环境下,请各位自行测试。6 ]: v* }' b% P' J( V( ?; i9 V

1

主题

11

帖子

25

积分

1°伸手党

Rank: 2

积分
25
发表于 19-12-1 05:58:48 | 显示全部楼层         
来过
回复

使用道具 举报

0

主题

12

帖子

4

积分

1°伸手党

Rank: 2

积分
4
发表于 20-5-11 13:19:09 | 显示全部楼层         
谢谢楼主,共同发展
回复

使用道具 举报

网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除