我关注this answer以使我的AngularJS被Google编入索引。
正如答案所讨论的,我在路由系统中添加了$locationProvider.html5Mode(true)
。它还说我应该在直接向服务器请求时传送页面。例如/forum
应该在论坛页面上回复。问题是我没有要发送的论坛页面。我正在使用ng-route
所以我有一个主视图div,当客户端更改页面时切换内容。
由于我没有任何html页面而不是index.html,当服务器收到对页面的请求时,我应该发回什么内容(/forum
)?
我目前的解决方案是将重定向发送到/#/forum
,这样客户端就会收到论坛页面(因为Angular路由系统会自动将页面重定向到论坛页面,而HTML5正在更改网址到/forum
)。
但是这样,谷歌不会对我的/forum
页面编制索引,因为当抓取工具请求它收到重定向到/#/forum
的页面时,抓取工具会忽略#
之后的所有内容。< / p>
处理这种情况的正确方法是什么? 如何让Google完全索引我的angularJS应用程序?它唯一的索引页面是/ page。