Javascript 如何在Next.js中为多个URL创建一个处理程序?

Javascript 如何在Next.js中为多个URL创建一个处理程序?,javascript,reactjs,express,next.js,server-side-rendering,Javascript,Reactjs,Express,Next.js,Server Side Rendering,我在开始使用Next.js时遇到了一些麻烦 这是交易。我有多个过滤器,这取决于我创建的URL。所有这些URL都用于一个页面。 它可以是这样的: / /一个 /一/二 /一/二/三 这是必需的。如何为捕获这些URL创建一个处理程序 我像这样使用Express,但它没有帮助 server.get('/*', async (req, res, next) => { try { app.render(req, res, '/') } catch (e) {

我在开始使用Next.js时遇到了一些麻烦

这是交易。我有多个过滤器,这取决于我创建的URL。所有这些URL都用于一个页面。 它可以是这样的:

  • /
  • /一个
  • /一/二
  • /一/二/三
这是必需的。如何为捕获这些URL创建一个处理程序

我像这样使用Express,但它没有帮助

server.get('/*', async (req, res, next) => {
    try {
      app.render(req, res, '/')
    } catch (e) {
      next(e)
    }
  })

谢谢

像这样使用动态路由:

pages/[one]/[two]/[three].js
cf: 多个动态管段的工作方式相同

例如,
pages/post/[pid]/[comment].js
将匹配
/post/1/a-comment
。它的查询对象将是:
{pid:'1',comment:'a-comment'}


希望有帮助。

使用npm next routes,以便使用路径模式(regex)将多个URL绑定到一个页面

next.js 9.5中引入的新功能

解决方案:

另请参见:重定向和标题:

宣布评论:


此外,我知道一些通配符匹配将路径嵌套在默认路由的深处,但我觉得在大多数用例中重写是一个更好的解决方案。

谢谢您的回答。我使用了动态路由,但我只有一个页面可以访问这几个url。是否可以通过一个页面处理所有URL?