RELATEED CONSULTING
相关咨询
选择下列服务马上在线沟通
服务时间:9:00-20:00
你可能遇到了下面的问题
关闭右侧工具栏

技术支持

phpcms怎么将已删除的内容http状态码设置为404

  • 作者:郑州融科网络
  • 发表时间:2019-09-10
  • 人气:

截止目前改版已经持续了两个半月,虽然baidu说跳转关系至少要保持三个月,但我的Keywords权重已转移完成,新站流量也很稳定,再加之原网站使用的cdn是360网站卫士的,动不动改版规则验证失效真是够头疼。所以,我决定删除改版规则,解除跳转关系,提交死链,这就需要把phpcms已删除内容的http状态码设置为404了。

网上的教程有很多,可以分为两种,一种是伪404,就是假的404页面,为的是不丢失流量;另一种是真实的404,但写的教程我看的是真累,有两个缺点:排版混乱,先后顺序颠倒,改文件不说清晰文件路径,比如这篇新闻:,本应在第二步的步骤却写到第三步,还有文末说改global.fnc.php,少写一个字母就不说了,还不注明文件路径,这种新闻看得人很窝火;不注重实际的使用情况,很多细节还有待完善。所以,作为一个负责任的网站管理员,我决定我来写一篇教程,绝对是全网看着最舒服的教程。
第一步:在网站根目录建一个page404.php文件,里面写上:

<?php   header( $_ENV['SERVER_PROTOCOL']." 404 Not Found", true, 404 );  ?>

第二步:打开global.func.php,路径/phpcms/libs/functions/global.func.php
在最后一个“}”之前写上如下代码:

functionpage404(){    header($_SERVER['SERVER_PROTOCOL']." 404 Not Found", true, 404 );    require('page404.php');    exit();    }

第三步:找到/phpcms/modules/content/index.php
找到if(!$catid || !$id)把后面的showmessage(L('information_does_not_exist'),'blank')替换为page404()
找到if(!isset($CATEGORYS[$catid]) || $CATEGORYS[$catid]['type']!=0)把后面的showmessage(L('information_does_not_exist'),'blank')替换为page404()
找到if(!$r || $r['status'] != 99)把后面的showmessage(L('info_does_not_exists'),'blank')替换为page404()
找到if(!isset($CATEGORYS[$catid]))把后面的showmessage(L('category_not_exists'),'blank')替换为page404()
到此就完成了,不管是栏目页还是新闻页删除了http状态码都会是404。

我是按照这篇新闻来操作的:,但是操作完我发现我网站打不开了,提示网页编码错误,原因就是这篇新闻在后台发布时代码模块采用了插件,而这个插件里的代码是有编码格式的,直接复制到自己的代码里面就会出现编码错误,解决办法就是把该新闻的代码先复制到记事本清除一下格式,然后再复制到自己的代码里面,就不会出错了。我的新闻编辑器没有使用代码插件,大家可直接复制使用。
这就是我上面说的不注重实际使用情况,只有真正实操过写的教程才是靠得住的教程。

本文章网址,转载请保留此链接http://www.zzvy.cn/cms/1490.html
本文标签:
相关阅读: