我不知道resetNamespace will work two levels deep like that though. Especially since you have something meaningful in the second level, i.e.,是怎么写的。你的ember路由器需要它来知道从服务器请求哪个“类别”。 例如golf-caps 'subcategory'可能在两个'categories'中。如果有人直接导航到mysite.com/golf-caps,您的服务器将无法知道显示哪个golf-caps,来自hats的还是来自accessories的。 你能把它们分解的唯一方法是你所有的子类别都是唯一的,在这种情况下,是的,你可以去掉类别级别。 假设您仍然需要这个类别,我想您可以在URL中去掉all-products:
3条答案
按热度按时间mzmfm0qo1#
如果你能控制服务器,我会在那里处理这个问题。能够发送正确的
308 permanent redirect
头是很好的,这样搜索索引就可以排队了,而且大多数后端路由解决方案似乎都有这个内置的概念。ux6nzvsh2#
据我所知,你需要创建一个新的路由,其中包含一个包含重定向的
beforeModel()
钩子。但我不认为这会增加很多复杂性。它基本上是ember generate route golf-caps
,并编辑创建的app/routes/golf-caps.js
以包含:您可能希望删除路线的模板
app/templates/golf-caps.hbs
,因为在任何情况下都不会呈现该模板。如果您有多个重定向,您可能需要考虑添加一个通配符路由来捕获所有请求。这样可以基于多个路径的Map进行重定向,如果没有为该路径注册任何重定向,则会呈现一个未找到的页面。
sigwle7e3#
Ember(引导程序)具有
resetNamespace
。我不知道
resetNamespace will work two levels deep like that though. Especially since you have something meaningful in the second level, i.e.,
是怎么写的。你的ember路由器需要它来知道从服务器请求哪个“类别”。例如
golf-caps
'subcategory'可能在两个'categories'中。如果有人直接导航到mysite.com/golf-caps
,您的服务器将无法知道显示哪个golf-caps
,来自hats
的还是来自accessories
的。你能把它们分解的唯一方法是你所有的子类别都是唯一的,在这种情况下,是的,你可以去掉类别级别。
假设您仍然需要这个类别,我想您可以在URL中去掉
all-products
: