2011-12-04 43 views
1

我使用Facebook調試OG,看看Facebook的爬行..Facebook的爬行錯誤最終網址

Final URL: http://xxx.appspot.com/?_escaped_fragment_=homePage 
Canonical URL: http://xxx.appspot.com/#!homePage 

規範網址是否正確被Facebook抓取。但爲什麼最終的網址是錯誤的?當用戶按下類似按鈕時。我傳入href = http://xxx.appspot.com/#!homePage。不是最終的url應該看起來像規範的url一樣嗎?

我的網頁是在http://tinyurl.com/7luzm68

回答

1

這是因爲#的!在網址中。通過使用該功能,您可以選擇使用ajax crawling spec,從而爲您提供_escaped_fragment_零件。之所以這樣做是因爲片段(#之後的所有內容)未發送到請求,因此服務器無法知道您正在嘗試加載homePage,例如。

+0

它是作爲請求發送的,因爲我在傳遞給Facebook之前編碼了url,比如href http%3A%2F%2F1.xxx.appspot.com%2F%23!homePage ..原因最終的url不應該有_escaped_fragment是因爲,當鏈接顯示在Facebook牆上時,鏈接將具有_escaped_fragment ... – cometta

+0

是否意味着使用ajax爬行規範,我無法鏈接到#後的特定頁面,而只能鏈接到http:// xxx。 appspot.com/ – cometta

+0

人們的牆上的鏈接應該是正常的。只有當Facebook(和Google)抓取網址時,它纔會被轉換爲_escaped_fragment_。抓取工具沒有JS功能,因此您可以使用它將合適的打開圖形標籤放置在head元素中。 –