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

Flutter v3+GoRouter应用部署Netlify后直接访问/signIn报页面未找到

解决Flutter Web部署Netlify后直接访问子路由404问题

问题原因

Flutter Web属于单页应用(SPA),所有路由逻辑都由前端的GoRouter处理。但Netlify服务器收到直接访问/signIn这类子路径的请求时,会默认去服务器上查找对应路径的文件或文件夹,而Flutter打包后只有index.html一个入口文件,因此服务器返回"Page Not Found"。首页跳转正常是因为先加载了index.html,之后的路由跳转都是前端内部处理的。

解决方案

方法1:添加_redirects文件

  1. 在Flutter项目的web目录下新建一个名为_redirects的文件(不要添加任何后缀)
  2. 在文件中写入一行路由重定向规则:
/*    /index.html   200
  1. 重新执行flutter build web命令打包项目
  2. 将build/web目录下的所有文件部署到Netlify

方法2:使用netlify.toml配置

  1. 在项目根目录创建netlify.toml文件
  2. 写入以下配置内容:
[build]
  command = "flutter build web"
  publish = "build/web"

[[redirects]]
  from = "/*"
  to = "/index.html"
  status = 200
  1. 直接部署项目到Netlify,平台会自动读取该配置并处理路由重定向

完成以上操作后,直接访问/signIn这类子路径时,Netlify会把请求重定向到index.html,由GoRouter负责解析并渲染对应的页面,就不会再出现404错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 23:05:32