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

Flutter Web部署Firebase后路径参数路由出现404问题

解决Flutter Web部署Firebase后路径参数链接404问题

问题根源

本地运行正常是因为Flutter自带的开发服务器默认支持单页应用路由重写,而Firebase Hosting默认会将带路径的请求(如/username)当作静态资源路径查找对应文件,找不到就返回404。你的Flutter Web属于单页应用,所有路由逻辑由客户端处理,需要让Firebase把所有请求转发到index.html。

解决方案

1. 修改firebase.json配置

在项目根目录的firebase.json文件中,给hosting节点添加rewrites规则,将所有请求重定向到index.html:

{
  "hosting": {
    "public": "build/web",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

2. 重新部署项目

修改配置后,执行部署命令让配置生效:

firebase deploy --only hosting

3. 确认路径策略依赖

你的代码中已调用setPathUrlStrategy(),确保pubspec.yaml中添加了对应依赖:

dependencies:
  url_strategy: ^0.2.0

并正确导入包:

import 'package:url_strategy/url_strategy.dart';

配置完成后,Firebase Hosting会将所有请求转发到index.html,由Fluro客户端路由处理/username这类带参数的路径,即可解决404问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 22:49:55