phpcms如何将访问提示“您要查看的信息不存在或者还未通过审批!”的动态页面设置为伪404
phpcms教程
我的站长站
2019-05-03
共174人阅读
phpcms网站动态内容页删除后再次访问提示“您要查看的信息不存在或者还未通过审批!”,如果这个页面已被收录,还有关键词来源的ip,那么最好把这个页面设置为伪404,防止流量流失和跳出率增高(真404即HTTP状态码是404的设置方法访问:
相关参考
。具体怎么操作呢?
找到/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页面,其实不用,这样操作就可以。
解释下原理:
$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页面即可。

