php页面id不存在,phpcms如何将访问提示“您要查看的信息不存在或者还未通过审批!”的动态页面设置为伪404...

phpcms网站动态内容页删除后再次访问提示“您要查看的信息不存在或者还未通过审批!”,如果这个页面已被收录,还有关键词来源的ip,那么最好把这个页面设置为伪404,防止流量流失和跳出率增高(真404即http状态码是404的设置方法访问:

相关信息

cbc46509af6a6181b52641c5e69a2d32.gif

截止目前改版已经持续了两个半月,虽然百度说跳转关系至少要保持三个月,但我的关键词权重已转移完成,新站流量也很稳定,再加之原网站使用的cdn是360网站卫士的,动不动改...。

具体怎么操作呢?

找到/phpcms/modules/content/index.php,第59行

if(!$r || $r['status'] != 99) showmessage(L('info_does_not_exists'),'blank');

替换为:if(!$r || $r['status'] != 99) header('location:/errorfiles/404.html');

有人说把全站改为静态再做404页面,其实不用,这样操作就可以。

解释下原理:

20180515100427385.jpg

$r = $this->db->get_one(array('id'=>$id));//$r为根据id查询的这条内容信息。

if(!$r || $r['status'] != 99) showmessage(L('info_does_not_exists'),'blank');//$r['status'] != 99的意思是这条信息没有通过审核,即如果这条信息为空或未通过审核则执行后面的操作。showmessage()并不是PHP的内置函数,而是phpcms的独有函数,很多人在这里搞错了。

info_does_not_exists//这个字段的意思是“您要查看的信息不存在或者还未通过审批!”,大家可以打开/phpcms/languagess/zh-cn/content.lang.php在第295行看一下。

header()函数不知道的的可以百度一下,简单讲就是在任何实际的输出被发送之前调用,后面的location指向自己的404页面即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值