我的网站是discuz3.2的,前几天大量广告贴,删除了之后,再点击这些网页全部都是显示帖子不存在。如下图:

这个是可以做到不跳转200,跳转到404的,因为Discuz自身设置了错误跳转,所以没有跳转404,你的一个帖子其实就是相当于一个页面,面对此问题,你可以修改下discuz程序,具体的我给你贴出来,你自己去看下,希望能帮到你。
###你眼中的404页面未必返回404状态码,想让页面返回404的话表示页面不存在,这要从网站程序中删除这个页面,而楼主返回的200表明这个页面还存在,只是正文内容没有了,表示这个页面还可以访问的,这样这个页面只是提示你访问的内容不见了或者说被删除了。
另外一种情况往往是由于错误的服务器端配置而导致返回“200”状态码,虽然对访问的用户而言,HTTP状态码是“404”还是“200”并没有什么区别,一样是提高了用户体验,但对搜索引擎而言,这则是相当重要的,甚至是致命的。
当搜索引擎蜘蛛在请求某个错误URL地址得到“404”状态回应时,即知道该URL地址已经失效,便不再索引该网页,并向数据中心反馈将该URL地址表示的网页从索引数据库中删除,而当搜索引擎对于这个404页面得到的是“200”状态回应时,则会认为该url地址是有效的,便会去索引,并会将其收录到索引数据库,这样你的所有错误页面对于搜索引擎来说都是不同url地址内容相同的页面,这会导致出现大量重复页面,会大大降低网站质量的评分,甚至直接降权。
找到文件:source\module\forum\forum_(如果是文章的话则是:source\module\portal\portal_,以此类推)
找到代码:
showmessage(‘thread_nonexistence’);
替换为:
header('HTTP/ 404 Not Found');
header('status: 404 Not Found');
include("404/");
exit();
其中“404/”为自己设置的404页面的路径。
整站设置404,当出现不存在或删除的页面便会返回404页面,然后将大量出现的404页面提交百度删除!
###这个返回200是正常的,不能返回404页面,即便能做到,短时间内返回大量404也是不好的。
我觉得可以这样,发现广告贴先不要删除,全部移动到某一个版块(新建的版块,提前用Robots.txt屏蔽),然后再删除。
本文来自投稿,不代表微盟圈立场,如若转载,请注明出处:https://www.vm7.com/a/ask/32989.html