我有一個AngularJS應用程序,我想在Google上正確索引。Nginx配置服務快照到谷歌機器人
我寫了一個客戶端,爲鏈接刮臉,然後用Phantomjs下載頁面製作快照。這一切工作正常。我遇到的問題是將這些快照提供給Google bot。
出於某種原因,Google bot會將?_escaped_fragment=
附加到我的網址中。例如,http://me.com/about
變爲http://me.com/about?_escaped_fragment=
。我已經在訪問日誌中驗證了這一點。
我試圖抓住這個請求,並服務於谷歌機器人快照與此配置:
location/{
if ($args ~ "_escaped_fragment_=") {
rewrite^/snapshots/$1;
}
}
然而,此項請求URL:http://me.com/about?_escaped_fragment=
總是導致404同樣的,其他頁面。
快照存儲在相對於網站根目錄的/snapshots
中。它們按照目錄結構命名,因此http://me.com/business/register
在/snapshots/business/register.html
中有一個快照。
如何才能讓這些快照正常工作?
謝謝。