Asp classic Googlebot链接状态代码在应该为404时返回200

Asp classic Googlebot链接状态代码在应该为404时返回200,asp-classic,http-status-code-404,googlebot,Asp Classic,Http Status Code 404,Googlebot,我已经设置了一些代码来过滤查询字符串中包含某些单词的页面,以重定向到404或410页面,这两个页面都能很好地工作。问题是当我查看日志时,谷歌机器人仍然显示与200相同的链接。我已经用不同的方法检查过了,这个页面肯定是404。我还通过谷歌测试了链接,他们的回复是404。我提供了一个简短的日志摘录作为示例(更改的IP和一些隐私文本): 简单且有效,但不适用于机器人。它能被缓存在什么地方吗?我试图清除域缓存,但也没有帮助 我将此作为我自己问题的答案发布,因为经过详尽的搜索,我相信这是我需要的答案,可能

我已经设置了一些代码来过滤查询字符串中包含某些单词的页面,以重定向到404或410页面,这两个页面都能很好地工作。问题是当我查看日志时,谷歌机器人仍然显示与200相同的链接。我已经用不同的方法检查过了,这个页面肯定是404。我还通过谷歌测试了链接,他们的回复是404。我提供了一个简短的日志摘录作为示例(更改的IP和一些隐私文本):


简单且有效,但不适用于机器人。它能被缓存在什么地方吗?我试图清除域缓存,但也没有帮助

我将此作为我自己问题的答案发布,因为经过详尽的搜索,我相信这是我需要的答案,可能会帮助其他人。当谷歌检查链接时,它会比索引你的站点更经常地检查链接,它会加载缓存页面,在我上面的例子中,缓存副本仍然存在,因此会返回200状态。因此,当我点击谷歌搜索中的链接时,它按预期正确加载了404页面。但是当我使用“fetchasgoogle”选项通过googlewebmaster工具进行检查时,它加载了一个带有200响应代码的缓存页面。所以我想这只是一个耐心的问题,或者使用谷歌工具鼓励它重新索引网站

您是否尝试过重新创建准确的调用
/events/default.asp?youth zzz yyy?\uuuuuuuu from_ustore=it&\uuuuuuuuuuu store=dk&cat=54&price=1300
,您所做的调用略有不同(无
cat
参数),页面中的某些逻辑是否有可能绕过此调用?您是否可以包含完整的
default.asp
代码?归根结底,什么客户端不重要,机器人、浏览器对他们来说都一样,他们知道没有什么不同。是IIS返回了
HTTP 200 OK
,因此您的代码中一定有什么东西绕过了您的检查。@Lankymart是的,我尝试了确切的查询字符串,但在zzz yyy之后仍然不相关。我想一定是IIS,我们会进一步调查。 > 66.249.69.46 - W3SVC472 WIN9 80 GET /events/default.asp youth-zzz-yyy?___from_store=it&___store=dk&cat=54&price=1300- 200 0 14543 441 1 HTTP/1.1 .... (compatible;+Googlebot/2.1;++http://www.google.com/bot.html) > 111.111.111.111 - W3SVC472 WIN9 80 GET /events/default.asp youth-zzz-yyy?___from_store=fr&___store=de&price=150- 404 0 1434 724 1 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.3;+WOW64;+rv:33.0)+Gecko/20100101+Firefox/33.0