我有一个 Angular 应用程序设置为在 html5 模式下使用 #! 后备,所以在大多数浏览器上它都可以使用,http://example.com/foo/bar
并且在我们得到的不太酷的浏览器上http://example.com/#!/foo/bar
。这一切似乎都奏效了。
我一直在尝试让谷歌很好地抓取该网站,但它似乎没有按预期工作。我<meta property="fragment" content="!" />
在页面中设置了向 google 表示重新抓取?_escaped_fragment_=
,并设置 nginx 在收到这样的请求时重定向到页面的静态版本。
它适用于首页 - 查看我可以看到的访问日志http://example.com/?_escaped_fragment=
,并且可以用谷歌搜索“首页上的一句话”并因此返回主页。
但是,它不适用于任何内部页面,如果我查看访问日志,我可以看到一大堆http://example.com/foo/bar/?_escaped_fragment_=
而不是http://example.com/?_escaped_fragment_=/foo/bar/
我预期的。
有什么明显的我缺少让谷歌做我想做的事吗?