怎么讓phpcms支持https

這篇文章主要介紹“怎么讓phpcms支持https”,在日常操作中,相信很多人在怎么讓phpcms支持https問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么讓phpcms支持https”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),虛擬空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,西信服務(wù)器托管,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國(guó)大陸、港澳臺(tái)以及歐美等多個(gè)國(guó)家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。

1、如果已經(jīng)安裝好phpcms,則需要對(duì)caches/configs/system.php中的配置選項(xiàng)做替換,將"http://"全部替換為"https://"。如有必要,數(shù)據(jù)庫(kù)中已存在的鏈接也要完全替換為https開頭。

2、程序修改部分:
(1)修改phpcms/modules/admin/site.php 大約45行和128行的正則

('/http:\/\/(.+)\/$/i', $domain))

    修改為

('/(http|https):\/\/(.+)\/$/i', $domain))

(2)修改phpcms/modules/admin/templates/setting.tpl.php 大約18行中的正則

http:\/\/(.+)[^/]$

    修改為

http[s]?:\/\/(.+)[^/]$

(3)修改phpcms/modules/admin/templates/site_add.tpl.php 大約13行中的正則

http:\/\/(.+)\/$

    修改為

http[s]?:\/\/(.+)\/$

(4)修改phpcms/modules/admin/templates/site_edit.tpl.php 大約11行中的正則

http:\/\/(.+)\/$

    修改為

http[s]?:\/\/(.+)\/$

(5)修改phpcms/modules/link/index.php 大約41行和51行中的正則

/^http:\/\/(.*)/i

    修改為

/^http[s]?:\/\/(.*)/i

(6)修改phpcms/modules/link/templates/link_add.tpl.php 大約10行中的正則

^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&]*([^<>])*$

    修改為

^http[s]?:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&]*([^<>])*$

(7)修改phpcms/modules/link/templates/link_edit.tpl.php 大約11行中的正則

^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&]*([^<>])*$

    修改為

^http[s]?:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&]*([^<>])*$

    嚴(yán)格按照以上步驟修改后,注冊(cè)用戶 帳號(hào)登錄等操作完全正常 和PHPSSO通信完全正常,后臺(tái)添加信息和前臺(tái)鏈接URL完全正常

    注意:
    a.如注冊(cè)用戶提示‘操作失敗’,請(qǐng)?jiān)诤笈_(tái)會(huì)員模塊設(shè)置中關(guān)閉‘注冊(cè)時(shí)可選會(huì)員模型’或者保證會(huì)員不少于兩個(gè)會(huì)員模型

    b.在PHP5.6或以上的PHP版本中會(huì)出現(xiàn)和PHPSSO無法正常通信的情況,因?yàn)镻HP5.6及以上fsockopen和file_get_contents等函數(shù)openssl需要驗(yàn)證目標(biāo)的SSL證書是否可信,需要安裝openssl根證書才可以,否則openssl會(huì)報(bào)警告信息 證書驗(yàn)證失??!
    如需在php5.6或以上版本中使用HTTPS的請(qǐng)參閱PHP官方有關(guān)php5.6和openssl的資料http://php.net/manual/en/migration56.openssl.php

3、經(jīng)過上面修改后,phpcms中的內(nèi)容可通過https訪問,但分頁(yè)出現(xiàn)錯(cuò)誤。解決方法為:
    打開文件 phpcms\libs\functions \global.func.php ,找到738行的位置:

$url = str_replace(array('http://','//','~'), array('~','/','http://'), $url);

    修改為

$url = str_replace(array('https://','//','~'), array('~','/','https://'), $url);


經(jīng)過以上三步,phpcms完美支持https,結(jié)合頁(yè)面靜態(tài)化和url偽靜態(tài)規(guī)則,親測(cè)靜態(tài)頁(yè)面也可用https。
此時(shí)的網(wǎng)站實(shí)際上通過http和https都能訪問。

補(bǔ)充:

經(jīng)過以上所有步驟后,出現(xiàn)新的問題:新聞列表頁(yè)面點(diǎn)擊標(biāo)題跳轉(zhuǎn)的URL會(huì)重復(fù)帶有網(wǎng)站域名。解決方法如下:
打開 phpcms\modules\content\templates\content_list.tpl.php,找到97行的位置:

strpos($r['url'],'http://')!==false

修改為:

strpos($r['url'],'https://')!==false

到此,關(guān)于“怎么讓phpcms支持https”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

本文題目:怎么讓phpcms支持https
文章地址:http://muchs.cn/article36/joggpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、App開發(fā)虛擬主機(jī)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)