使用pushstate深层链接骨干js

时间:2012-12-05 05:21:00

标签: backbone.js

不确定我缺少什么,但我在我的基于Backbone的应用程序上运行了pushState,我可以点击它并让我的网址看起来像www.example.com/route_specified,但是如果我尝试直接转到该页面它显示为未找到。如果我执行www.example.com/#route_specified它可以运行,并快速更改回地址栏上的www.example.com/route_specified

我猜我需要在Apache中做一些事情来处理这个并确保所有调用都解析为索引或类似的内容,但无法找到解释。

1 个答案:

答案 0 :(得分:1)

正确。如果没有启用pushstate,请考虑这种方式。您的服务器仍在尝试为该路由提供服务。由于它无法在该位置找到指定的文档,因此会抛出404。

从技术上讲,你的服务器仍应在url位置产生某种结果,然后让Backbone接管。在它最简单的形式中,这称为渐进增强。服务器仍然应该提供某种具有关键信息的静态页面,这将消除您在SEO中遇到的问题。在禁用javascript的情况下使用您的网站/应用,仅提供相关数据。然后有Backbone收购。我刚刚遇到了Mashable的重新设计,他们将渐进式增强功能与Backbone完美结合。

如果SEO不是问题,您可以随时将用户重定向到索引页面。请记住,搜索引擎只会将您的应用页面编入索引。如果您的内容是动态提供的,则不会有任何数据要编制索引。

希望这有帮助。

由于

泰龙