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

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

[时间:10-15]    [浏览:]    [放入收藏夹]    [查看详情]

截止目前改版已经持续了两个半月,虽然百度说跳转关系至少要保持三个月,但我的关键词权重已转移完成,新站流量也很稳定,再加之原网站使用的cdn是360网站卫士的,动不动改版规则验证失效真是够头疼。所以,我决定删除改版规则,解除跳转关系,提交死链,这就需要把phpcms已删除内容的http状态码设置为404了。
phpcms如何将已删除的内容http状态码设置为404
网上的教程有很多,可以分为两种,一种是伪404,就是假的404页面,为的是不丢失流量;另一种是真实的404,但写的教程我看的是真累,有两个缺点:排版混乱,先后顺序颠倒,改文件不说清楚文件路径,比如这篇文章:http://www.phpstudio.info/show-109-1212-1.html,本应在第二步的步骤却写到第三步,还有文末说改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。
phpcms如何将已删除的内容http状态码设置为404
我是按照这篇文章来操作的:http://www.cmsyou.com/support/138.html,但是操作完我发现我网站打不开了,提示网页编码错误,原因就是这篇文章在后台发布时代码模块采用了插件,而这个插件里的代码是有编码格式的,直接复制到自己的代码里面就会出现编码错误,解决方法就是把该文章的代码先复制到记事本清除一下格式,然后再复制到自己的代码里面,就不会出错了。我的文章编辑器没有使用代码插件,大家可直接复制使用。
这就是我上面说的不注重实际使用情况,只有真正实操过写的教程才是靠得住的教程。

  本文转载自:精准像素:11px.cn ,感谢作者分享实用知识


标签: