我有一个 AngularJS 应用程序,我想在 Google 上正确编入索引。
我写了一个客户端,它从网站上抓取链接,然后用 Phantomjs 制作快照下载页面。这一切都很好。我遇到的问题是将这些快照提供给 Google 机器人。
出于某种原因,Google 机器人会附加?_escaped_fragment=
到我的网址。例如,http://me.com/about
更改为http://me.com/about?_escaped_fragment=
. 我已经在访问日志中验证了这一点。
我正在尝试捕获此请求并使用此配置为 Google bot 提供快照:
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
.
我该怎么做才能让这些快照正常工作?
谢谢。