如何通过 pushState 在 Backbone 中使用 SEO 友好的 URL?
How to use SEO friendly URLs in Backbone with pushState?
我有一个使用 Backbone.js 和 Marionette 的单页应用程序,目前使用片段 url 语法。
我正在为 SEO 目的修改应用程序以利用 pushState
。虽然这将实现我的部分目标(消除哈希爆炸的需要),但我希望添加到应用程序中的另一件事是更友好 urls.
例如,当您点击 url 时,我的应用程序将显示产品,其中 12345
是产品的 ID:
http://<myserver>/product/12345
我想知道是否有一种方法可以让我的应用程序意识到此产品更友好 url,例如:
http://<myserver>/product/the-name-of-my-product
在内部,它会执行与点击包含产品 ID 的 URL 相同的操作。
有没有一种好方法可以在 backbone 应用程序中完成 seo 友好的 urls?
既然你说你想在 url 中使用产品名称,我假设它们是唯一的(否则 url 无法正确解析)。
在这种情况下,您应该能够使用 Backbone 模型的 idAttribute
选项来指示 Backbone 将产品名称视为产品 ID。一旦你这样做,它应该使用名称创建 url。
另一种选择是使用 url
选项并提供 return 您想要的 url 的功能(return 类似于 root/ + model.name
)
我有一个使用 Backbone.js 和 Marionette 的单页应用程序,目前使用片段 url 语法。
我正在为 SEO 目的修改应用程序以利用 pushState
。虽然这将实现我的部分目标(消除哈希爆炸的需要),但我希望添加到应用程序中的另一件事是更友好 urls.
例如,当您点击 url 时,我的应用程序将显示产品,其中 12345
是产品的 ID:
http://<myserver>/product/12345
我想知道是否有一种方法可以让我的应用程序意识到此产品更友好 url,例如:
http://<myserver>/product/the-name-of-my-product
在内部,它会执行与点击包含产品 ID 的 URL 相同的操作。
有没有一种好方法可以在 backbone 应用程序中完成 seo 友好的 urls?
既然你说你想在 url 中使用产品名称,我假设它们是唯一的(否则 url 无法正确解析)。
在这种情况下,您应该能够使用 Backbone 模型的 idAttribute
选项来指示 Backbone 将产品名称视为产品 ID。一旦你这样做,它应该使用名称创建 url。
另一种选择是使用 url
选项并提供 return 您想要的 url 的功能(return 类似于 root/ + model.name
)