正确处理404找不到文件的请求


Properly handling a 404 File not found request

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

  1. 记录404错误,这样我就可以修复断开的链接,并找到邪恶的人搜索漏洞
  2. 重定向到实际已移动页面的301永久移动的正确位置

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

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

我遇到的一些问题:

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

如果我让页面打印一条消息,它会以200的状态代码进行响应。

您应该了解https://www.google.com/webmasters/

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

你的robots.txt一定不正确,谷歌才会忽略它,因为他们肯定遵守规则,否则他们会遇到很多麻烦。

你可以确保谷歌确实在使用最新的robots.txt以及使用链接,它会让你知道它是否有任何问题。

要使用301标签重定向,您可以简单地执行以下操作:

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

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