- $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/....修改方法如下:
找到:phpcmsmodulescontenttemplatescontent_list.tpl.php大概97行
- } elseif(strpos($r['url'],'http://')!==false) {
改成:
- } elseif(strpos($r['url'],'http')!==false) {