本站资源来自互联网用户收集发布,仅供用于学习和交流。如有侵权之处,请联系站长并出示版权证明以便删除,敬请谅解!(邮箱:whctwlgzs@foxmail.com)

无忧技术吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

广告展示页面
查看: 1096|回复: 58

[图文教程] Discuz!教程之删除版块和帖子后地址非404页面的解决方法

  [复制链接]
admin (帅逼1)实名认证

积分信息:
无忧币:113898
交易币:2147479327
贡献:999999

我的勋章:

灌水之王突出贡献优秀版主荣誉管理论坛元老沙发王源码大师在线王终身成就机器王知识库土豪活跃会员最佳新人热心会员


发表于 3 天前 | 显示全部楼层 |阅读模式
<

马上注册,结交更多好友,享用更多功能,让你轻松玩转无忧吧。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Discuz!教程之删除版块和帖子后地址非404页面的解决方法
很多站长因为删除内容违规版块和帖子,出现被收录删除的帖子返回200状态码,进入提示“抱歉,指定的主题不存在或已被删除或正在被审核”,那如何才能使用帖子被删除后跳转至404页面,也就是帖子被删除返回404状态码呢?下面分享下解决方法:
找到文件:source/module/forum/forum_forumdisplay.php中的:
showmessage('forum_nonexistence', NULL);
找到文件:source\module\forum\forum_viewthread.php中的:
showmessage('thread_nonexistence');
都替换为:
header('status: 404 Not Found');include('404.html');exit();
404.html是你定义的404页面,路径你自己决定。
然后你就能解决,帖子被删除或者被审核,然后能跳转至404页面了,更有利于搜索引擎优化。

## Discuz!教程之删除版块和帖子后地址非404页面的解决方法

在Discuz!论坛中,当用户删除一个版块或帖子时,通常希望该URL返回404状态码。然而,有时会遇到删除后仍然返回200状态码的问题,这对SEO优化非常不利。本文将详细介绍如何解决这个问题,确保删除后的URL返回404状态码并跳转到相应的404页面。

### 一、问题背景与影响

Discuz!是一款广泛使用的社区建站系统,其基础架构采用PHP+MySQL实现,具有强大的负载能力和可高度定制性。然而,当删除已收录的论坛帖子或文章时,如果原来的页面返回状态码不是404错误而是200状态码,这将对SEO产生负面影响。搜索引擎可能会认为该页面仍然存在,从而导致重复内容的收录和排名问题。

### 二、解决方案概述

为了解决删除版块或帖子后URL非404页面的问题,我们需要进行以下几步操作:

1. **修改程序代码**:找到并修改Discuz!源码中处理帖子或文章删除逻辑的相关文件。
2. **设置返回状态码**:在删除帖子或文章时,强制设置HTTP状态码为404。
3. **制作404页面**:创建自定义的404页面,并将其设置为删除帖子或文章后的跳转页面。

### 三、具体操作步骤

#### 1. 修改程序代码

首先,我们需要找到Discuz!源码中处理帖子删除逻辑的文件。对于帖子,这个文件通常是`source\module\forum\forum_viewthread.php`;对于文章,则是`source\module\portal\portal_view.php`。请注意,文件路径可能因Discuz!版本不同而有所差异,请根据实际情况进行调整。

打开上述文件,找到处理帖子或文章删除的逻辑部分。一般来说,这部分代码会检查帖子或文章是否存在,并根据存在与否执行不同的操作。我们需要在帖子或文章不存在的情况下,强制设置HTTP状态码为404,并跳转到自定义的404页面。

例如,在`forum_viewthread.php`文件中,我们可以添加以下代码:

  1. php
  2. if ($thread['tid'] == 0) { // 假设tid为0表示帖子不存在
  3.     header("HTTP/1.1 404 Not Found");
  4.     exit();
  5. }
复制代码


类似地,在`portal_view.php`文件中,也可以添加类似的代码来处理文章不存在的情况。

#### 2. 设置返回状态码

在修改了程序代码之后,我们需要确保在删除帖子或文章时能够正确设置HTTP状态码为404。这可以通过在相关函数中调用`header`函数来实现。例如,在`forum_viewthread.php`中,我们可以在检查帖子是否存在之后添加以下代码:

  1. php
  2. if ($thread['tid'] == 0) { // 假设tid为0表示帖子不存在
  3.     header("HTTP/1.1 404 Not Found");
  4.     exit();
  5. } else {
  6.     // 其他处理逻辑
  7. }
复制代码


通过这种方式,当帖子或文章不存在时,服务器将返回404状态码,并停止执行后续代码。

#### 3. 制作404页面

接下来,我们需要创建一个自定义的404页面,并将其设置为删除帖子或文章后的跳转页面。这个页面可以简单地包含一些友好的错误信息和链接,引导用户返回论坛主页或搜索其他内容。

创建一个新的HTML文件,如`404.html`,并将其上传到Discuz!论坛的根目录(或其他合适的位置)。然后,在自定义404页面的代码中,添加以下meta标签来设置HTTP状态码:

  1. html

  2.     404 Not Found
复制代码


其中,`yourdomain.com`应替换为您的实际域名。这样,当用户访问到404页面时,浏览器会自动在3秒后重定向到指定的URL。

### 四、测试与验证

完成以上步骤后,我们需要对修改进行测试和验证。可以尝试删除一些帖子或文章,然后在浏览器中访问这些帖子或文章的URL,检查是否返回404状态码并跳转到自定义的404页面。同时,也可以使用站长工具或搜索引擎查询工具来检查这些URL的收录情况,确保问题已经得到解决。

### 五、总结与注意事项

通过修改Discuz!源码中的程序代码、设置返回状态码以及制作自定义404页面等步骤,我们可以有效地解决删除版块或帖子后URL非404页面的问题。这不仅有助于提高网站的SEO优化效果,还能提升用户体验。在进行这些操作时,请务必注意备份Discuz!源码和数据库数据以防止误操作导致的数据丢失或网站崩溃等问题的发生。




无忧技术吧-免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.92wuyou.cn无关。
2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
4、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
5、无忧技术吧(www.92wuyou.cn)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。无忧技术吧不承担任何因为技术滥用所产生的连带责任。无忧技术吧内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或QQ与我们联系处理。
6、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:whctwlgzs@foxmail.com),本站将立即改正。
联系方式:
站长邮箱:whctwlgzs@foxmail.com
站长QQ:4040068
无忧技术吧www.92wuyou.cn
林深见鹿 (帅逼987)

积分信息:
无忧币:46
交易币:2
贡献:0

发表于 3 天前 | 显示全部楼层
过来看看
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

诗酒风流 (帅逼1055)

积分信息:
无忧币:51
交易币:4
贡献:0

发表于 3 天前 | 显示全部楼层
写的真的很不错
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

霜天晓角 (帅逼997)

积分信息:
无忧币:47
交易币:1
贡献:0

发表于 3 天前 | 显示全部楼层
学习了,不错,讲的太有道理了
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

书海觅知音 (帅逼1141)

积分信息:
无忧币:35
交易币:6
贡献:0

发表于 3 天前 | 显示全部楼层
好好 学习了 确实不错
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

艺海逸逸影 (帅逼1186)

积分信息:
无忧币:48
交易币:2
贡献:0

发表于 3 天前 | 显示全部楼层
路过,学习下
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

书魂墨魄 (帅逼1077)

积分信息:
无忧币:50
交易币:4
贡献:0

发表于 3 天前 | 显示全部楼层
66666666666666666
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

艺海逐浪 (帅逼1122)

积分信息:
无忧币:48
交易币:3
贡献:0

发表于 3 天前 | 显示全部楼层
学习了,不错,讲的太有道理了
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

静水流深 (帅逼976)

积分信息:
无忧币:46
交易币:1
贡献:0

发表于 3 天前 | 显示全部楼层
不错不错,楼主您辛苦了。。。
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

逸韵流芳 (帅逼1094)

积分信息:
无忧币:45
交易币:2
贡献:0

发表于 3 天前 | 显示全部楼层
支持一下
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站长推荐 关闭


官方交流群:805881393

官方交流群:805881393


查看

热烈推荐
关闭

关于烛光| 支付宝站| 广告服务| 法律声明| 隐私保护| 联系我们| Archiver| | 帮助中心

鄂公网安备42011502001700号

工业和信息化部备案:鄂ICP备2024050280号-2 广告服务/联系QQ: 4040068 投诉受理QQ: 4040068 

技术支持:Discuz!  Copyright © 2009 - 2010 联系邮箱:whctwlgzs@foxmail.com 版权所有 无忧技术吧

GMT+8, 2025-7-31 16:53 , Processed in 0.095532 second(s), 87 queries .

请输入你要搜索的关键字关键字: 百度 google 一搜 搜狐