找回密码
 立即注册

QQ登录

只需一步,快速开始

Close
教程经验总索引TVMW5/小日本5 索引【视频转换】小日本4/TE4XP 索引【视频转换】TAW4 / TDA3 索引【DVD打包软件】
Nero 索引DVD-Lab 索引【DVD打包软件】编解码器 索引 【必读】固顶帖011号
查看: 44|回复: 0

[经验] 通过修改 Nginx 配置文件修复失效链接的404指向

[复制链接]
  • 打卡等级:偶尔看看

9334

威望

1189

金钱

1万

贡献

管理员

自由的灵魂

积分
100866
主题
5303
回帖
26275
注册时间
2003-4-10
最后登录
2025-1-18
发表于 4 天前 | 显示全部楼层 |阅读模式

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

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

×

经过多次升级,点拨论坛的一些古早链接早已不可访问,曾经做过一个单独的404页面给点击这些失效链接的访问者以友好的提示:


截图202501140841295868.jpg


以前我用的是宝塔自带的 404重定向功能,以为如下设置就能实现404的状态:

截图202501140837476476.jpg

但实际上这个重定向使用的是301永久重定向方法,用 httpstatus.io 检查的结果是 301 转 200(文件存在),不是真正的 404:

截图202501140912347696.jpg

当有大量失效链接都指向同一个200页面时,不可避免地对网站SEO产生损害:



使用 301 重定向将大量失效链接指向一个 200 状态码的页面会对 SEO 产生以下伤害:
  • 索引混乱:搜索引擎会索引大量重复内容。
  • 权重分散:原页面的权重被稀释,影响目标页面的排名。
  • 用户体验下降:用户点击失效链接时,看到与预期内容无关的页面。
  • 抓取预算浪费:搜索引擎浪费抓取预算在无效链接上。


要解决这个问题,就需要将所有失效链接的访问请求重定向到 404.html 的同时还能够返回404状态码,告诉搜索引擎此页面已经不存在。具体做法为:

进入宝塔文件管理,打开 /www/server/panel/vhost/nginx/ 目录下的 www.dianbo.org.conf 这个动态配置文件,在  #HTTP_TO_HTTPS_END 后面加上以下代码:

  1. <div>      # 自定义404页面配置(添加到其他位置)
  2.     error_page 404 /404.html;
  3.     location = /404.html {
  4.         internal;
  5.     }</div>
复制代码





通过这样设置之后,所有的失效链接就都不再跳转,直接返回404了,同时还能显示我自定义的友好提示页面,完美!


                               
登录/注册后可看大图




这样设置之后,我又想到另外一个失效链接密集的地方,就是10年前发布的大量网盘链接(迅雷快传、115等)、随着网盘本体的倒下都已经不可访问。这些链接曾经被我批量替换成 https://deadlink.dianbo.org/xxx 的格式,而二级域名 deadlink.dianbo.org 被我绑定到了一个单独的网站上,用以实现:每当用户点击了失效链接 https://deadlink.dianbo.org/xxx 的时候,都被重定向到 https://deadlink.dianbo.org/404.html


同样,之前我用的是宝塔自带的 404重定向功能:


截图202501140900089395.jpg

现在知道了它实际上把失效链接通过 301 转到了 200(文件存在),并没有返回 404,那就也需要通过修改配置文件的方法将所有失效链接的访问请求重定向到 404.html 的同时再返回404状态码,告诉搜索引擎此页面已经不存在。具体做法为:

找到 /www/server/panel/vhost/nginx/deadlink.dianbo.org.conf 这个动态配置文件,在  #SSL-END 这一行后面加上以下代码:
  1. # 将所有请求重定向到 404.html,并返回404状态码
  2. error_page 404 /404.html;
  3. location = /404.html {
  4.     internal;
  5. }

  6. location / {
  7.     try_files $uri $uri/ =404;
  8. }
复制代码
截图202501140103579975.jpg

修改后检测结果理想,正确地返回了 404状态码:

截图202501140107453405.jpg

同时,又能显示自定义的 404 页面,给访问者以友好提示:

截图202501140110547422.jpg


完美!


                               
登录/注册后可看大图
4.gif .

总结:宝塔自带的重定向只适合用于更换主域名后的 301 重定向,不适合来做 404 重定向。


IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读版规。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|点拨论坛 |网站地图|天天打卡

GMT+8, 2025-1-18 09:59 , Processed in 0.033841 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表