根目录中的未知302重定向。爬行者无法跟进

时间:2013-02-19 20:10:39

标签: asp.net http iis url-rewriting routing

当我注意到Facebook Debugger和其他抓取工具无法解析我的页面时,整个事情就开始了。 Facebook抛出一个严重的错误,说它不能遵循重定向。我相信搜索引擎机器人正在达到同样的目的。该网站通过所有主要网络浏览器正常运行。

值得一提的是,我正在尝试使用IIS8下的Web窗体进行ASP.NET路由。

给定一个网站(http://example.com),这就是发生的事情。

案例1:尝试访问root,这是我使用Web Sniffer模拟器获得的

enter image description here

案例1观察:

我注意到的第一件事是'302'重定向而不是'200 OK'。它提供302重定向,带或不带前导'www'。

我注意到位置标题只是“/”,由IIS的页面确认,我用常规浏览器看不到,这表示页面被移动到“/”。我相信在这一点上有些东西搞砸了,爬虫因某种原因无法完成。

案例2 :尝试使用Web嗅探器模拟器访问给定的类别页面

案例2观察:

正如您可能已经想到的那样,与案例1相同。再次,Facebook调试器无法通过它,导致重定向无法跟进。

enter image description here

问题:

1:如何在位置标题中强制使用绝对路径而不是相对路径,这是否足以让抓取工具完成?

2:在网站的www和非www版本中,首先会发生什么导致302重定向?

1 个答案:

答案 0 :(得分:3)

您的网络应用程序很可能取决于cookie。应用程序发送Set-Cookie标头并重定向到同一页面,以便接收带有cookie数据的新请求。搜索引擎/机器人,Facebook机器人和您的Web Sniffer模拟器将不会发送该cookie数据,因此Web应用程序不断发送302重定向响应。

解决方案是将您的应用程序更改为不需要cookie,只需查看您的网页即可。