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

Next.js动态路由本地正常,部署到Netlify生产环境出现404错误

Next.js动态路由部署Netlify后404问题解决方案

你的问题核心是:Netlify默认仅处理静态站点内容,而你的页面使用了getServerSideProps(服务器端渲染,SSR),需要Netlify的Next.js Runtime支持才能正常解析动态路由。本地开发时Next.js自带服务器会处理SSR逻辑,但部署到Netlify时需额外配置。

具体解决步骤:

  1. 安装Netlify Next.js插件
    在项目根目录执行命令安装依赖:
npm install @netlify/plugin-nextjs --save-dev
  1. 添加netlify.toml配置文件
    在项目根目录创建netlify.toml,写入以下内容:
[build]
  command = "next build"
  publish = ".next"

[[plugins]]
  package = "@netlify/plugin-nextjs"

该配置会告诉Netlify使用Next.js插件处理SSR、动态路由等特性,指定正确的构建命令和输出目录。

  1. 确认动态路由文件结构
    确保你的动态路由文件命名和路径正确,比如页面文件应为pages/[category].js或pages/articles/[category].js,对应访问路径/[category]或/articles/[category]。

  2. 重新部署并清除缓存
    在Netlify控制台的部署页面,选择「Clear cache and deploy site」,确保新的配置和依赖生效。

原理说明

getServerSideProps需要在每次请求时运行服务器端代码生成页面内容,Netlify的Next.js插件会将这些SSR页面转换为Netlify Functions,从而在生产环境中处理动态路由的请求,避免404错误。

内容的提问来源于stack exchange,提问作者Mmods GTA V

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 15:24:39