工作室注册登录标签云赞助光荣榜

当前位置:首页 > 全栈分享 > phpcms > 正文

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

发布时间:2018-07-31 10:35:00作者:魏义齐阅读:()评论:

本文为博主原创文章,未经博主允许不得转载。

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

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

第一步:在网站根目录建一个page404.php文件,里面写上:

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

第二步:打开global.func.php,路径/phpcms/libs/functions/global.func.php

在最后一个“}”之前写上如下代码:

function page404(){   
    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.cmsyou.com/support/138.html,但是操作完我发现我网站打不开了,提示网页编码错误,原因就是这篇文章在后台发布时代码模块采用了插件,而这个插件里的代码是有编码格式的,直接复制到自己的代码里面就会出现编码错误,解决方法就是把该文章的代码先复制到记事本清除一下格式,然后再复制到自己的代码里面,就不会出错了。我的文章编辑器没有使用代码插件,大家可直接复制使用。

这就是我上面说的不注重实际使用情况,只有真正实操过写的教程才是靠得住的教程。

本文标签:,您可以阅读与「」相关的所有文章

魏义齐全栈技术交流:魏义齐全栈技术交流

上一篇:phpcms全站最新文章调用方法下一篇:phpcms首页和列表页调用文章来源需要注意的问题

原创不易,您的赞助就是博主更新的动力!

赞助请备注,8.88元及以上可在赞助光荣榜留下外链信息。

HashOver畅言云评完全自托管的评论系统

工作室注册登录标签云赞助光荣榜

最新会员
  • 东方星雨
  • deanhan
  • 1264822519
  • aini3311
  • a1051020101
  • weiyiqi