You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js配置的redirects规则部署到Netlify后不生效该如何解决?

原因说明

Netlify平台部署Next.js项目时,默认不会直接读取next.config.js中的重定向配置,需要依赖官方适配插件转换规则,或直接使用Netlify原生的重定向配置,常见失效原因如下:

  • 未安装或安装的@netlify/plugin-nextjs插件版本和当前Next.js版本不兼容,无法正确转换Next.js内置的重定向规则
  • 项目根目录存在_redirects、netlify.toml配置文件,其中的重定向规则优先级高于Next.js内置配置,导致配置被覆盖
  • 项目开启了静态导出配置output: 'export',这种场景下Next.js所有服务端配置包括redirects都不会生效
  • 构建缓存未清理,旧的部署产物没有加载最新的配置

解决办法

方案1:使用Netlify Next.js适配插件(推荐)

该方案可以复用你已经写在next.config.js里的所有配置,不需要额外重写规则:

  1. 安装和你当前Next.js版本匹配的适配插件
npm install @netlify/plugin-nextjs --save-dev
  1. 在项目根目录新建netlify.toml文件,添加如下内容指定启用插件:
[[plugins]]
package = "@netlify/plugin-nextjs"
  1. 部署时选择「Clear cache and deploy site」清理缓存后重新部署即可生效。

方案2:直接使用Netlify原生重定向配置(快速生效)

如果你不想额外安装依赖,可以直接用Netlify支持的配置方式写重定向规则,两种方式二选一即可:

方式A:使用_redirects文件

在项目根目录新建_redirects文件,添加如下内容:

/   /coming-soon   302

其中302对应你permanent: false的临时重定向配置,如果需要永久重定向改成301即可。

方式B:使用netlify.toml配置

在项目根目录的netlify.toml中添加如下规则:

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

额外注意事项

如果你的项目配置了output: 'export'静态导出,只能选择方案2配置重定向,Next.js内置的服务端配置在纯静态导出场景下不会生效。

内容的提问来源于stack exchange,提问作者Jimmy Soussan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 08:54:08