2011-04-13 60 views
0

我需要做些什麼才能將?_escaped_fragment_=支持添加到我的服務器上?我希望谷歌能夠通過我的ajax網站爬行。我的哈希值已經在#!形式?_escaped_fragment_ = - 無頭瀏覽器

但我不知道如何告訴我的服務器,當我進入mywebsite.com/?_escaped_fragment_=section到我的瀏覽器,這樣的URL mywebsite.com/section,這將是等於mywebsite.com/#!

感謝

回答

5

簡單答案 - 我的方法(即將用於具有約50,000個AJAX生成的URL的站點)是讓node.js服務器使用無頭環境(嘗試殭屍,幻影或其他)來加載該站點,確保它能夠執行JavaScript並讀取DOM - 然後在運行時,如果它是Google請求的片段,則向node.js服務器發出請求,該請求將加載該站點執行javascript,等待響應,並返回輸出到瀏覽器的HTML。

如果這聽起來像很多工作 - 我約90%的代碼完成了這一切,你只需在網站頂部放一行(PHP)代碼,應用程序,並使用遠程node.js服務器爲您完成剩下的工作。代碼將是開源的,所以如果你想在節點服務器上自己設置代碼,你可以 - 或者如果它是一個PITA來自己設置它,我可能會有一個活動服務器啓動並運行你的應用程序/網站會向?_escaped_fragment_請求發送請求,並獲取html快照。它還實現緩存,因此每隔X天只請求一次。

看着這個空間 - 只是有幾個扭曲的工作,它會在我的網站(josscrowcroft.com),我也會把它放在一個github回購。

+0

好的,所以如果我明白了,我需要的第一件事就是node.js服務器。非常感謝。然後我會等到你將代碼發佈到github上... – simPod 2011-04-27 21:36:20

+0

是的 - 從下週開始,我將在客戶端的站點上測試一個機架空間虛擬服務器,所以一旦它在野外進行測試並且我已經檢查過不管它放在服務器上的是什麼樣的負載,我都會在後幾個周內發佈回購。 – 2011-04-28 09:08:49

+0

好的,謝謝你... – simPod 2011-04-29 22:11:08