【问题标题】:Properly handling a 404 File not found request正确处理 404 File not found 请求
【发布时间】:2012-03-22 12:42:37
【问题描述】:

我有一个自定义 404 页面,它有两个主要目标:

  1. 记录 404 错误,这样我就可以修复损坏的链接并找到正在搜索漏洞的邪恶人员
  2. 对于实际已移动的页面,使用 301 Moved Permanently 重定向到正确的位置

其他所有内容都只是重定向到主页。我遇到的问题是机器人。谷歌是最糟糕的,他们每隔几天就会不断尝试抓取不存在的页面。我什至尝试将这些页面添加为我的 robots.txt,但出于某种原因他们忽略了它。这些页面仍然出现在他们的搜索结果中!

我想正确解决这个问题,所以我正在寻找建议。请注意,这是一个付费虚拟主机,因此更改网络服务器设置可能不是一种选择。网络服务器正在运行带有 IIS 7 的 Windows。

我遇到的一些问题:

如果我检测到 Googlebot(和其他一些主要机器人)并手动发送 404 状态代码,网络服务器会捕获该代码并尝试重新执行自定义 404 页面,然后我会陷入无限循环。

如果我让页面打印一条消息,它会返回状态码 200。

【问题讨论】:

  • 您听起来好像知道自己在说什么,但以防万一,您知道 robots.txt 不会立即注册吗?我的意思是,谷歌仍然会显示这些页面,直到它更新它的列表:-)
  • 是的,我知道这需要一点时间,只是很烦人。我认为问题的很大一部分是抓取器在处理网址时做得不好,然后谷歌抓取它们并给我们留下错误的印象。

标签: php redirect http-status-code-404


【解决方案1】:

你应该看看https://www.google.com/webmasters/

机器人试图索引的文件必须曾经存在或链接到,上面的链接谷歌会告诉你它请求了哪些页面以及其中有多少是 404。

您的 robots.txt 必须不正确,Google 才会忽略它,因为他们肯定会遵守规则,否则他们会遇到很多麻烦。

您可以使用该链接确保 Google 确实在使用最新的 robots.txt,如果有任何问题,它会通知您。

要使用 301 标签重定向,您可以简单地这样做:

Header( "HTTP/1.1 301 Moved Permanently" ); 
Header( "Location: http://website.com" );

您只需先将所有相关信息插入您的数据库。

【讨论】:

  • +1 用于网站管理员工具。网站管理员 imo 的宝贵资产。
  • 是的,网站管理员工具很好,感谢您的提示。问题是,不道德的广告网站和爬虫链接到我们,但大多数链接都是死的、旧的或从未存在的页面,所以谷歌当然会寻找它们。我已经按照您的建议进行操作,使用 301 状态并重定向到主页,但他们仍然一遍又一遍地要求相同的旧页面。
猜你喜欢
  • 2019-09-11
  • 2019-02-12
  • 2015-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多