在前面我們曾經給大家介紹過《織夢Dedecms程序在騰訊云服務器開啟https教程》相信不少朋友都已經看過,但是用些使用Discuz的朋友在處理的時候遇到很大的問題,感覺用不上了,其實這也不怪你們,因為Discuz開啟https完全跟其它的程序不一樣,
現來武林網寫一個教程希望能幫助到更多的Discuz愛好者。
這個首先需要去申請一個SSL證書:
這里給大家一些小建議建議:SSL證書西部 8元一年,阿里云,騰訊云,百度云免費。。
證書申請好后比如是空間的需要開啟SSL,強制開啟。。
這些開啟之后,就需要設置Discuz代碼了。。
第一步:全局 > 站點信息 > 網站 URL,修改為https://www.xxxx.com的格式
第二步:修成Discuz適配https
如果你的Web服務是Apache,請忽略這一步,Nginx請繼續看:
Discuz判斷網站是否啟動SSL是采用 $_SERVER[‘HTTPS’] 的方式,此方法不支持Nginx(nginx+php-fpm),需要先做一些修改,讓Discuz使用 $_SERVER[‘SERVER_PORT’]來判斷網站是否啟用SSL。
source/class/discuz/discuz_application.php(約第187行處):
查找:
$_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
修改為:
$_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
uc_server/avatar.php (約第13行處):
查找:
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'], '/'))));
完成。
擴展閱讀:
《寶塔面板快速開啟ssl(https)的方法》
以上就是Discuz開始https的實際操作方法圖文介紹的全部內容,希望對大家的學習和解決疑問有所幫助,也希望大家多多支持武林網。新聞熱點
疑難解答