Nextjs、catchall、静态生成和重定向

时间:2021-05-14 11:36:48

标签: next.js server-side-rendering http-status-code-301 getstaticprops ssg

我有一个使用 nextjs 10.1 的网站

我正在使用 SSG 和一个包罗万象的策略,即在 /pages 下,我有

-pages
--[...slug]
---index.tsx

在我的 index.tsx 中有

export const getStaticProps: GetStaticProps = async (context: any) => {
const { params, locale } = context;
const slug = params.slug;
//multiple slugs can lead to the same page
...
}

export const getStaticPaths: GetStaticPaths = async () => {
...
return {
    paths,
    // Fallback blocking ensures that pages not listed in getStaticPath will still be rendered with a call to getStaticProps
    fallback: 'blocking',
  };
}

在我的无头 cms(原始)中,slug 历史被保存(这非常有用)然后多个 slug 导致同一页面,因为我也参数化了 fall 截至今天,已为这些多个版本呈现了正确的规范标签,并带有指向在棱镜上参数化的最后一个 slug 的链接。

我更喜欢 301。

我如何从我的 getStaticProps 创建一个 301 或者我如何构建我的 /pages/[catchall] 以便我有 301 从旧的 slug 到新的?

非常感谢您的帮助!

0 个答案:

没有答案