- $url = str_replace(array('http://','//','~'), array('~','/','http://'), $url);
修改为:
- $url = str_replace(array('https://','//','~'), array('~','/','https://'), $url);
其实造成这种情况的主要原因就是phpcmsd默认的都是http,而不支持https,所以需要修改全部的网址验证,论坛里已经有人整理出来了,直接复制过来:
程序修改部分
后台输入https的url可通过JS校验部分的修改
(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/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]+[\/=\?%\-&]*([^<>])*$
(6)修改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]+[\/=\?%\-&]*([^<>])*$
(7)修改phpcms/modules/link/index.php大约41行和51行中的正则
- /http:\/\/(.*)/i
修改为
- /^http[s]?:\/\/(.*)/i
另外:网站添加SS后,从后台直接访问文章页面,会出现域名前面又出一个网址的问题,比如:http://www.tengcee.com/http://www.tengcee.com/....修改方法如下:
找到:phpcms\modules\content\templates\content_list.tpl.php大概97行
- } elseif(strpos($r['url'],'http://')!==false) {
改成:
- } elseif(strpos($r['url'],'http')!==false) {
文章点评