請選擇 進入手機版 | 繼續訪問電腦版

島引馬祖 - We See Matsu

 找回密碼
 立即註冊
查看: 575|回復: 0

[Discuz] discuz X3.2、X3.3、X3.4程序如何全站開啟https

[複製鏈接]

1640

主題

1649

帖子

1萬

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
10707
發表於 2020-4-5 22:41:53 | 顯示全部樓層 |閱讀模式
discuz X3.2、X3.3、X3.4程序如何全站開啟https

https://kknews.cc/zh-tw/code/o8okkao.html

discuz X3以上全站開啟https,首先第一步需要申請ssl證書和空間部署https,如果你是Linux centos 6系統可以按照我昨天講解的部署(空間部署ssl證書以及一鍵安裝Linux centos 6系統),今天主要講解discuz 開源程序部署https需要修改哪些地方。我這裡就以3.4為例:
第一步、修改source/class/discuz/discuz_application.php(3.4在373行左右,3.3以下在187行左右)
$_G['isHTTPS']=($_SERVER['HTTPS']&&strtolower($_SERVER['HTTPS'])!='off')?true:false;
修改為:
$_G['isHTTPS']=true;
如下圖:

46q5000417151088r9rp.jpg
登陸FXP帳號按照目錄找到discuz_application.php文件並傳到本地


打開文件並搜索 $_G['isHTTPS']=再修改
第二步、修改uc_server/avatar.php(3.4在14行左右,3.3以下在27行左右)
define('UC_API',strtolower(($_SERVER['HTTPS']=='on'?'https':'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'],0,strrpos($_SERVER['PHP_SELF'],'/'))));
修改為:
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'],'/'))));
如下圖:


登陸FXP帳號按照目錄找到avatar.php文件並傳到本地


打開文件並搜索 define找到代碼再修改
3、修改/template/default/common/header.htm(如果你是用的其他模板就直接進入你目前用的模板目錄找到header.htm文件)
將http://全部查找替換為:https://(一共5處)如下圖:


按照目錄找到header.htm文件並傳到電腦桌面本地


進入搜索替換頁面搜索http://全部替換成https://
第四步、登陸discuz網站後台–全局–站點信息–網站URL:將http://改成https://網址


將http://改成https://網址
第五步、後台–站長–UCenter設置–UCenter訪問地址改成https://網址


UCenter訪問地址改成https://網址
第六步、後台–UCenter(如果不能正常訪問可以在新窗口打開,也可以直接訪問UC地址)–應用管理–點右邊的編輯–應用的主URL改成https://網址


進入/uc_server網址登陸帳號


點擊應用管理進入編輯


將http://改成https://網址
第七步、後台–工具–更新緩存


點擊工具–確定更新緩存
第八步、全站部署好後,當然要把http://做301全部跳轉到https://。昨天已經講解了301挑轉(昨天講解的文章地址https://www.toutiao.com/i6487509258861543950/)。另外一種301跳轉是還可以打開source/class/class_core.php文件,在文件裡面搜索set_exception_handler找到:
set_exception_handler(array('core','handleException'));
後面加上:
if($_SERVER['SERVER_PORT']!='443'&&$_SERVER['PHP_SELF']!='/api/uc.php'){
if(!preg_match("/(Zidingyi|Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i",$_SERVER['HTTP_USER_AGENT'])){
header('HTTP/1.1 301 Moved Permanently');
header('Location:https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
}


原文網址:https://kknews.cc/code/o8okkao.html
回復

使用道具 舉報

手機版|黑名單|雲帆萬事屋  

GMT+8, 2021-5-8 01:10 , Processed in 0.071803 second(s), 21 queries .

Powered by Yvonne's House X3.3

© Since 2019 We See Matsu

快速回復 返回頂部 返回列表