Javascript NuxtJS和多级人类可读过滤器

Javascript NuxtJS和多级人类可读过滤器,javascript,seo,nuxt.js,Javascript,Seo,Nuxt.js,大家好 我面临着一个我找不到解决办法的大问题 简而言之,我希望能够生成以前未知长度的多级路由来创建过滤器 更多细节 有一个网站site.com 它有以下部分:site.com/news,site.com/articles等等。为了简单起见,我将它们表示为site.com/section 每个部分都有分类:site.com/news/people,site.com/articles/how。为了简单起见,我将它们表示为site.com/section/category 章节和类别的数量可以不止一个

大家好

我面临着一个我找不到解决办法的大问题

简而言之,我希望能够生成以前未知长度的多级路由来创建过滤器

更多细节 有一个网站site.com

它有以下部分:site.com/newssite.com/articles等等。为了简单起见,我将它们表示为site.com/section

每个部分都有分类:site.com/news/peoplesite.com/articles/how。为了简单起见,我将它们表示为site.com/section/category

章节和类别的数量可以不止一个

当用户转到某个分区时,他们会看到该分区中的整个帖子列表

当用户转到该节的类别时,他只看到该类别中的新闻

有几个这样的部分,所以我将@nuxt/routejs设置为禁用基于pages目录的路由。 route.js如下所示

Vue.use(Router)

export function createRouter() {
  return new Router({
    mode: 'history',
    routes: [
        // Home page of the site
      {
        path: '/',
        component: BasePage,
      },
      // Page with a section
      {
        name: 'section',
        path: '/:section',
        component: PostBase,
      },
      // Also a page with a section, but with pagination taken into account
      {
        name: 'section-page',
        path: '/:section/page/:page',
        component: PostBase,
      },
      // Category page inside the section
      {
        name: 'category',
        path: '/:section/:category',
        component: PostBase,
      },
      // Category page inside the section, but with pagination taken into account
      {
        name: 'category-page',
        path: '/:section/:category/page/:page',
        component: PostBase,
      },
    ]
  })
}
然后我不知道如何正确地解决这个问题。 我想让用户能够使用“智能过滤器”,这是尽可能接近搜索引擎优化的建议。 例如,它可以使用单个筛选器并获得以下结果:

site.com/news/sorting-date

并且可以得到它:

site.con/news/sorting-date/author-elisa/page/4

还是:

site.com/news/people/sorting-views/city-new-york/page/2

我可以给出更多的例子,但我认为从这三个例子中可以清楚地看出,对于数量未知的过滤器(我通过管理面板设置),可能存在数量未知的斜杠

我该怎么办?如何正确解决这个问题

我也为英语很差而道歉。我真的希望得到您的帮助,甚至是提示:)

您可以使用“一个或多个”或“零个或多个”匹配器:

{
  name: 'category',
  path: '/:section/:category/:filters*',  // or :filters+ if you want at least one
  component: PostBase,
},
然后,您将在
下使用此.route.params.filters
下的值,如
“排序视图/纽约市/page/2”


有关更多信息,请参阅以及下面使用的库的文档

您看到我的答案了吗?