2013-02-19 52 views
0

當我注意到Facebook調試器和其他抓取工具無法解析我的頁面時,整個事情就開始了。 Facebook拋出一個嚴重錯誤,稱它無法遵循重定向。我相信搜索引擎機器人正在達到同樣的目的。該網站是通過所有主流網頁瀏覽器正常運作。未知302重定向到根目錄。抓取工具無法關注

這可能是值得一提的,我正在嘗試ASP.NET路由,使用IIS8下的Web窗體。

給定一個網站(http://example.com),這裏會發生什麼。

案例1:嘗試訪問的根,這是我得到一個網頁嗅探器模擬器

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

這是缺少導致重定向的結尾斜槓。 – Kylar 2013-02-19 23:50:50

+0

對不起,並非如此。 – Peter 2013-02-21 18:59:31

回答

2

您的網絡應用程序很可能取決於cookie。該應用程序發送一個Set-Cookie標題並重定向到相同的頁面,以便接收帶有可用cookie數據的新請求。搜索引擎/機器人,Facebook bot和您的Web Sniffer模擬器不會發送該cookie數據,因此Web應用程序會一直髮送302重定向響應。

解決方案是將您的應用程序更改爲不需要cookie即可查看您的網頁。

+0

在你回答這個問題之前,我想通過與其他項目進行比較,我發現了這一點。這確實是身份驗證cookie,因爲某種原因在任何地方都有身份驗證。我從其他人那裏獲得項目。不過謝謝,這是正確的答案。 – Peter 2013-02-21 19:00:57