重定向不适用于带有 nextjs 的 netlify

Redirects doesn't work on netlify with nextjs

我只是按照文档将其添加到我的 next.config.js

module.exports = {
  reactStrictMode: true,
   async redirects() {
    return [
      {
        source: "/",
        destination: "/coming-soon",
        permanent: false,
      },
    ];
  },
}

即使在我构建应用程序时它也能在我的机器上运行,但在 netlify 上由于某种原因根本没有重定向

根据官方 Netlify docs:

Redirects and rewrites using next.config.js aren't currently supported for Next.js sites on Netlify. If you have these specified in a next.config.js file for your project, check out our redirects and rewrites docs to learn how to set them up in a _redirects or netlify.toml file instead.

所以您基本上需要在项目的顶层创建一个 _redirects 文件,其中包含以下内容:

/    /coming-soon    302

302 状态代码等同于您在配置中所做的 permanent: false

如果您有 netlify.toml,那么您可以添加类似这样的东西来使您的东西正常工作:

[[redirects]]
  from = "/"
  to = "/coming-soon"
  status = 302
  force = false

参考文献:

当我们在 Netlify 上部署一个 Next.js 项目时,它会自动获取所有必要的依赖项,包括 Essential Next.js plugin(如果它没有安装在插件选项卡中,我们必须手动安装它)。此插件配置您的 Netlify 站点以允许基本的 Next.js 功能。 Essential Next.js 插件的版本 4 添加了对本机 Next.js 重写和重定向的支持。

基本上,您可以通过将 Essential Next.js 插件版本 4 或更高版本安装到您​​的 Next.js 站点部署在 Netlify 中。

请参阅此处以了解有关使用 Next.js 和 Netlify redirects/rewrites 规则的更多信息。