西安网站建设
在线咨询

扫描二维码分享到微信

PHPCMS整站兼容https修改方案 新增后台https内容管理和分页

2020-10-16

PHPCMS V9最完整的兼容https修改方案 涉及后台内容管理和分页

PHPCMS V9最完整的兼容https修改方案 涉及后台内容管理和分页

因历史原因PHPCMCSV9并不支持https,而且网上的修改教程都不是太完整,所以我发出我整理出来的修改教程供大家参考

https修改教程
全站搜索:
http:\/\/(.+)\/$


替换成

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


基本配置的phpcms/modules/admin/templates/setting.tpl.php

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


改成

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


友链模块的
phpcms/modules/link/templates/link_add.tpl.php和link_edit.tpl.php找到

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


改成

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


扩展-来源的phpcms/modules/admin/templates/copyfrom_add.tpl.php和copyfrom_edit.tpl.php找到

^http://


改成

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


扩展-关联链接的phpcms/modules/admin/templates/keylink_add.tpl.php和keylink_edit.tpl.php找到

^http:


改成

^http(s)?:\/\/


以上为前端修改

通信及后台部分修改
后台内容列表,这部分很重要,牵扯到整个后台的分页,不仅限于内容分页
phpcms/modules/content/templates/content_list.tpl.php
97行找到

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


改成

} elseif(preg_match('/^(http(s)?:)?\/\//', $r['url'])) {


后台分页,这部分很重要,牵扯到内容管理里的标题超链打开地址
phpcms/libs/functions/global.func.php
找到pageurl函数,没修改过的在784行,里面找到

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


改成

$url = preg_replace(array('/^((\w+):)?\/\//', '/\/{2,}/', '/~/'), array('$1~', '/', '//'), $url);


/phpsso_server/api/uc_client/client.php找到

$port = !empty($matches['port']) ? $matches['port'] : 80;

改成

$port = !empty($matches['port']) ? $matches['port'] : ($matches['scheme'] == 'https' ? 443 : 80);


$port = !empty($matches['port']) ? $matches['port'] : 80;

改成

$port = !empty($matches['port']) ? $matches['port'] : ($matches['scheme'] == 'https' ? 443 : 80);

/phpcms/libs/classes/http.class.php找到

$port = $matches['port'] ? $matches['port'] : 80;

改成

$port = !empty($matches['port']) ? $matches['port'] : ($matches['scheme']=='https' ? 443 : 80);
$protocol = ('https' == $matches['scheme']) ? 'ssl://' : '';

找到

$fp = @fsockopen($host, $port, $errno, $errstr, $timeout);

改成

$fp = @fsockopen($protocol.$host, $port, $errno, $errstr, $timeout);

/phpcms/libs/classes/http.class.php找到

$s = $_SERVER['SERVER_PORT'] == '443' ? 1 : 0;

改成

$s = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')|| ( isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 1 : 0;
 
phpcms/modules/member/classes/client.class.php里找到_ps_post函数,里面的

$port = !empty($matches['port']) ? $matches['port'] : 80;

改成

$sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';

通过以上修改,基本解决了PHPCMCSV9兼容https的问题,至于为什么说基本,因为这里也有可能我尚未发现的地方,如果有可以在评论区告知一下,我更新上来

文章来自:周神仙博客



标签: 后台 内容 管理 分页 方案 v9 https ssl 内容管理 PHP CMS phpcms

上一篇:PHPCMS验证码图片不显示故障解决
下一篇:phpcms 内部栏目--改成--外部链接-直接在数据库里修改

网站栏目

建站知识 前端设计 酷站欣赏 网站优化 网络营销 网站安全 行业新闻 公司新闻 建站工具


最新文章

layui框架安装插件不显示-响应

layui框架安装插件不显示-响应式织梦后台模板辅助插件不显示插件模块不显示解决办法最...

phpcms安装出错-访问install.ph

phpcms安装出错-访问install php后出现这个 No permission resources install ...

seo标题在线生成器-网址收藏

seo标题在线生成器-seo标题生成软件-网址收藏http: biaoti benbenseo com

phpcms二开-程序如何获取站点id

phpcms二开-程序如何获取站点id,phpcms插件开发-获取站点id$this->siteid = $this->...

phpcms continue-if循环判断

phpcms continue-if循环判断可用的方法:<?phpif($v[catid]==235||$v[catid]==236){co...


相关内容

PbootCMS后台列表添加点赞数显示

PbootCMS后台列表添加点赞数显示,第一步:修改下面目录里的代码,参照原有布局,添加...

PbootCMS二开系列教程(一)新增

PbootCMS二开系列教程(一)新增后台左侧菜单与页面,第一步:后台进入【菜单管理】路径(...

phpcms v9后台增加阅读量字段

phpcms v9后台增加阅读量字段,可任意修改阅读量--后台修改浏览量--ok由于phpcms的内...

phpcms v9禁止提交信息到官网

phpcms v9禁止提交信息到官网方法详解-解决phpcms后台慢的问题解决方法教程1:石头的...

phpcms v9后台批量上传添加图

在进行西安网站建设完成之后,需要对网站的资料进行添加,会遇到有部分客户的公司产...

layui框架安装插件不显示-响应

layui框架安装插件不显示-响应式织梦后台模板辅助插件不显示插件模块不显示解决办法最...

PHPCMS v9内容管理系统linux服

一、目录权限设置很重要:可以有效防范黑客上传木马文件 如果通过 chmod 644 * -R...

phpcms V9内容管理系统 调用

phpcms V9内容管理系统 调用随机文章标签phpcms libs functions extention func...


COPYRIGHT (©)2018-2019 西安黑米网络 | 西安网站建设 |  百度地图 |  最新文章|  网站地图|  TAG标签 |  会员登录  |  会员注册  |  最近更新时间: 2020-10-16 11:40:30