我认为这可能是一个常见的问题,但我找不到答案,所以这就是我问这个问题的原因。如果我重复,我很抱歉。
我有一个包含某些类别的页面。每个类别都有一些类别作为其子女。并且,用户可以单击此类别,$ scope.categories将随这些子项一起更改,直到我们不再有孩子为止。
但是,当用户点击某个类别以显示其子项时,我想更改网址,以便在当时为可见类别创建永久链接。
我尝试使用$ location,但$ location不会改变我的absURL,它只是在URL的末尾设置了一个锚点,比如'/ path#category_slug'。我想更改为'/ path / category_slug'。原因是我想在搜索引擎中索引这些URL。
因此,如果用户输入'/ path / category_slug',我将根据category_slug更改$ scope.categories。
我的问题是,这样做的最佳选择是什么?
答案 0 :(得分:1)
如果您使用的是AngularJS,Google或其他搜索引擎不太可能对您的网站内容了解甚少。这个问题不仅仅是导航!请参阅以下问题:
How do search engines deal with AngularJS applications?
如果您担心搜索引擎,您将不得不创建一个更传统的基于页面的网站,使用角度进行少量的交互。
答案 1 :(得分:0)
如果您将AngularJS应用切换到HTML5模式,您将不再在网址中包含这些#符号。
在app.js文件中,将html5模式设置为true:
$locationProvider.html5Mode(true);
但要小心,不是那么简单。然后,您必须配置服务器以重写所有请求。我们称之为“网址重写”,根据您使用的服务器,有很多方法可以执行此操作。