3

不知道我错过了什么,但我有 pushState 在我的基于 Backbone 的应用程序上工作,我可以点击并让我的 URL 看起来像 www.example.com/route_specified,但是如果我尝试直接转到该页面,它会显示如未找到。如果我这样做 www.example.com/#route_specified 它可以工作,并在地址栏上快速变回 www.example.com/route_specified

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

4

1 回答 1

1

正确的。在没有启用 pushstate 的情况下这样想。您的服务器仍在尝试在该路由上提供页面。由于在该位置找不到指定的文档,因此会抛出 404。

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

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

希望这可以帮助。

谢谢

泰隆

于 2012-12-05T08:34:20.643 回答