我按照这个答案让我的 AngularJS 被谷歌索引。正如在答案中所讨论的,我添加$locationProvider.html5Mode(true)
到我的路由系统中。它还说,当页面被直接请求到服务器时,我应该交付页面。例如/forum
应该用论坛页面响应。问题是我没有要发送的论坛页面。我正在使用ng-route
,所以我有一个主视图 div,它在客户端更改页面时切换内容。
由于我没有任何 html 页面而不是 index.html,所以当服务器收到对页面 ( /forum
) 的请求时,我应该发回什么?
我目前的解决方案是发送重定向到/#/forum
,这样客户端确实会收到论坛页面(因为 Angular 路由系统会自动将页面重定向到论坛页面,并且 HTML5 正在将 url 更改为/forum
)。
但是这种方式,谷歌不会索引我的/forum
页面,因为当爬虫请求它收到重定向的页面时,/#/forum
爬虫会忽略#
.
处理这种情况的正确方法是什么?如何让 Google 完全索引我的 angularJS 应用程序?它索引的唯一页面是 / 页面。