phpcms v9启用ssl之后(https://)后台文章列表404错误及不显示绿色安全等问题的解决

使用phpcms制作的网站,采用全站https:// 也就是SSL之后,会出现一些问题,现集中分享一下解决方案。

第一:后台内容管理文章列表404错误

phpcms v9会出现后台内容管理文章列表分页的404错误,这个需要修改 libs里面的一个文件即可。

打开文件 phpcms\libs\functions \global.func.php ,找到738行的位置:
$url = str_replace(array(‘http://’,’//’,’~’), array(‘~’,’/’,’http://’), url);
修改为即可:
$url = str_replace(array(‘https://’,’//’,’~’), array(‘~’,’/’,’https://’), $url);

第二:明明开启了SSL,但浏览器仍然显示不安全

这里 需要在页面的头部,添加一个meta声明即可完美解决。

<meta http-equiv=”Content-Security-Policy” content=”upgrade-insecure-requests” />

这个meta的意思是,告诉浏览器,这个页面支持安全SSL协议,可以是用https://传递信息。

第三:会员无法注册等问题

严格按照以下步骤修改后,注册用户 帐号登录等操作完全正常 和PHPSSO通信完全正常,后台添加信息和前台链接URL完全正常

后台输入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]?:\/\/(.+)[^/]$

修改phpcms/modules/admin/templates/site_add.tpl.php大约13行中的正则

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

修改为

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

修改phpcms/modules/admin/templates/site_edit.tpl.php大约11行中的正则

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

修改为

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

修改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]+[\/=\?%\-&]*([^<>])*$

修改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]+[\/=\?%\-&]*([^<>])*$

修改phpcms/modules/link/index.php大约41行和51行中的正则

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

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

phpcms v9调用当前栏目的同级栏目的几种方法

(1)单网页:

{loop $arrchild_arr $cid}<!–只适应用单网页–>
<li {if $catid==$cid}class=”cur_link”{/if}><a href=”{$CATEGORYS[$cid][url]}/”>{$CATEGORYS[$cid][catname]}</a></li>
{/loop}

(2)模型列表页:

{pc:content action=”category” catid=”$parentid” num=”25″ siteid=”$siteid” order=”listorder ASC”}
<ul>
{loop $data $r}
<li {if $catid==$r[catid]}class=”cur_link”{/if}><a href=”{$r[url]}/”>{$r[catname]}</a></li>
{/loop}
</ul>
{/pc}

(3)内容页:

{pc:content action=”category” catid=”$top_parentid” num=”25″ siteid=”$siteid” order=”listorder ASC”}
<ul>
{loop $data $r}
<li {if $catid==$r[catid]}class=”cur_link”{/if}><a href=”{$r[url]}/”>{$r[catname]}</a></li>
{/loop}
</ul>
{/pc}

phpcms v9.5.4 数据库恢复无效解决方法

从v9.5.3 升级至 v9.5.4之后备份数据库,恢复至另一个服务器上的v9.5.4版本网站,恢复之后提示成功,但是数据不变v9.5.4数据库恢复无效,目前经过排查发现其原因是:恢复数据的时候,并没获取备份文件的全名。 Continue reading phpcms v9.5.4 数据库恢复无效解决方法

如何调用phpcms v9中的广告中的具体数据

phpcms v9的广告模块具有很大的灵活性,使用默认的那些模板已经可以得到一些很实用的广告效果,但是如果是自制的类似jQuery切换广告之类的情况,系统自带的调用方法就无法满足要求了,那么这种时候就需要调用广告中的具体数据,如:直接调用图片列表中的图片地址和链接。其实方法很简单, Continue reading 如何调用phpcms v9中的广告中的具体数据

phpCMS v9轻松实现limit调用

最近公司网站上一个调用视频的地方,需要单独调用最新发布的第一条到第五条的数据,由于phpcms不再支持limit调用,便在网上找,很多人说要改源码来实现limit支持,也有人说用action=limit step=”0,1″这类方法,但是,最终想到了采用万能标签  {pc:get} 的方法,在论坛搜到了如下经典调用方法,无需改源码: Continue reading phpCMS v9轻松实现limit调用

关于dedeCMS幻灯片的各种灵活的调用方法

dedeCMS自带的flash幻灯片效果,虽然有些妨碍蜘蛛的抓取,但是可以方便的更改显示尺寸、颜色搭配、播放时间以及是否显示按钮等参数,所以较为实用。实际应用中,我们可以将其精简,或改造用于手动添加巨幅幻灯片,或者将这个幻灯片代码移植到到其他的程序(如:phpCMS v9)中去使用。

幻灯片实例:

关于dedeCMS幻灯片的各种灵活的调用方法

Continue reading 关于dedeCMS幻灯片的各种灵活的调用方法