URL片段:哈希网址中的前导斜杠 - 好还是坏?

时间:2013-11-27 07:37:36

标签: jquery backbone.js trailing-slash

只需要知道在您的哈希网址中使用一个主要斜杠是否有益。例如,

site.come/#/directore/file/

site.come/#directore/file/

我问这个是因为backbone.js不建议在他们的文档中使用第一个选项(我个人更喜欢第一个选项......),

http://backbonejs.org/#Router-extend

  

请注意,您要避免在路线中使用前导斜杠   定义

所以我想确定你want to avoid using a leading slash背后的原因是什么。

3 个答案:

答案 0 :(得分:1)

如果网站应该公开,我认为这两种方法都很糟糕,因为它会损害搜索引擎优化。

使用#!作为Google instructs人群的Conisder,以便网站可以抓取

答案 1 :(得分:1)

如果您决定使用Backbone.history.start({pushState: true})

,我可以想到的主要问题(referencing this post)是不兼容的

考虑这个设置:

Backbone.Router.extend({
  routes: {
    "/test": "test"
    "test": "test2"
  }
});

history api仍然不是一成不变的,所以它如何处理并使用斜杠调用路由是不一致的 - 但是你应该期望history.pushState('/test')调用路由test。但是,现在如果您使用的是使用哈希回退的浏览器,它将调用路由/test/。因此,可能最好完全避免第一次斜线,因为没有好的方法可以告诉你如何处理这两种情况:

app.navigate("/test")

这也是Backbone.js slash after hash in fallback - history pushState

的可能重复

答案 2 :(得分:1)

我更喜欢第一个,因为这样可以保持网址更加干净。甚至AngularJS路由系统也更喜欢第一个。像:

site.com/#/directory/file
出于搜索引擎优化的目的,两者都没有任何意义。 是的,这是正确的,命中API在其URL构成系统中使用#!