在Discuz删除了文章返回404出现错误怎么办?

(36) 2023-10-02 10:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说在Discuz删除了文章返回404出现错误怎么办?,希望能够帮助你!!!。

在Discuz删除了文章返回404出现错误怎么办?_https://bianchenghao6.com/blog__第1张

在Discuz删除了文章返回404出现错误怎么办?

出现404的可能性有很多,比如无法在所请求的端口上访问Web站点、Web服务扩展锁定策略阻止本请求、MIME映射策略阻止本请求等。使用Discuz的站长们有没有遇到404页面的情况?比如因各种原因需要删除掉一篇已经被收录的文章时,返回原来页面的时候就会显示404错误。而时删掉已经收录的帖子时,原来的页面状态并不是404,而是200。这种情况会对网站的判定造成非常不好的影响,网站整体的SEO效果也会大打折扣。

在Discuz删除了文章返回404出现错误怎么办?_https://bianchenghao6.com/blog__第2张

在Discuz删除了文章返回404出现错误怎么办?

为什么会出现200状态码?

这种情况下出现200状态,就是一种"软404"状态,意思是表面上看起来是一个类似404的状态,但是却没能产生和404相同的效果,起码没有返回状态码404。

也就是说,尽管你已经在后台将该模块删除,这个页面实际上却是没有内容的,可是搜索引擎仍然将该页面作为一个正常页面来索引,所以对于搜索引擎返回的状态码依然还是200。

这个问题就是Discuz的一个bug,而且官方暂时并没有对此进行修复,所以如果不想让这种状态影响到对页面的优化,就需要我们制作一个404页面,这对于搜索引擎来说才算是相对友好的设置。

那么这个问题应该怎么解决?

解决办法其实很简单:

找到如下代码,修改程序路径:

source\module\forum\forum_viewthread.php

如果是文章就是

source\module\portal\portal_view.php

然后需要将

showmessage('thread_nonexistence')

替换成这一段代码

header('HTTP/1.1 404 Not Found');

header('status: 404 Not Found');

include('404.html');

exit();

}

在Discuz删除了文章返回404出现错误怎么办?_https://bianchenghao6.com/blog__第3张

在Discuz删除了文章返回404出现错误怎么办?

这里所讲的"404/index.html"就是自己设置的404页面的路径。

通过先荐上面所讲的办法,就能够成功解决在Discuz删除了文章返回404出现错误的问题了。


更多精彩内容

欢迎关注头条号@先荐

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复