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

Next.js+Firebase项目部署Netlify后仅首页可访问其余页面404如何解决

问题核心原因

Next.js的路由逻辑和纯客户端SPA的React项目不同,你之前用的redirects文件首先就不符合Netlify的命名规则,其次默认规则也不适配Next.js的运行模式。

解决方案

方案1:使用Netlify官方Next.js适配插件(推荐,适配所有Next.js模式)

这是最省事的方案,不需要手动写任何重定向规则,会自动处理路由、SSR/ISR/静态资源的映射:

  1. 在项目根目录执行安装命令:
    npm install @netlify/plugin-nextjs --save-dev
  2. 确认Netlify后台构建设置:
  • 构建命令:npm run build(需保证package.json中scripts.build的值为next build)
  • 不需要手动配置发布目录,插件会自动识别
    部署后即可自动修复路由404问题。

方案2:纯静态导出模式手动配置

如果你的Next.js项目配置了output: 'export'纯静态导出,按以下步骤操作:

  1. 在public目录下创建名为_redirects的文件(注意文件名开头必须有下划线,否则Netlify不会识别),写入以下内容:
/*  /index.html  200
  1. 确认Netlify后台构建设置:
  • 构建命令:npm run build
  • 发布目录:out

额外排查点

如果以上操作完成后依然存在404问题,检查Firebase客户端初始化逻辑:确认你没有加错误的路由拦截规则,比如未登录状态下的跳转逻辑错误导致非根页直接返回404。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:36:01