如何在Nextjs中将请求转发到路由器中的另一个匹配

eulz3vhy  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(124)

假设我在Next.js(页面路由器)中有两个路径对应于当前的URL -[...slug].tssomething.ts。因此URL example.com/something 匹配这两个模式,并最终以更准确的方式结束-something.ts
这是正确的,但在某些情况下(例如,基于功能标志),我想在something.tsgetServerSideProps方法中决定我实际上想将[...slug].ts呈现给用户(* 将请求传递给此页面 *)。
有没有可能以某种方式告诉路由器匹配Next.js中的另一个页面?我能想到的唯一解决方案是统一两个页面的服务器函数并导入相同的组件,但我宁愿让请求传递到下一个匹配。类似于:

export const getServerSideProps = ((context) => {
  if (random()) return { bypass: true };
  return { props: { state: "good" } };
})

字符串

nzrxty8p

nzrxty8p1#

你可以重定向到子弹

export const getServerSideProps = ((context) => {
  if (random()) {
    return {
      redirect: {
        destination: '/something-else', // maybe need something meaningful here
        permanent: false,
      }
    }
  }
  return { props: { state: "good" } };
})

字符串
这将呈现[. slug](假设您没有名为something-else的路由)

相关问题