Firebase Hosting身份验证后signInSuccessUrl跳转404错误问题
根因分析
本地VS Code调试环境的静态服务(如Live Server插件)默认支持无后缀路径自动匹配同名.html文件,但Firebase Hosting默认未开启该规则,你配置的signInSuccessUrl: 'signedIn'会请求/signedIn路径,无法匹配到实际部署的signedIn.html文件,因此返回404。
排查步骤
- 直接在浏览器地址栏输入你的Firebase站点域名+
/signedIn.html,如果可以正常访问,即可确认是跳转路径匹配规则问题 - 检查项目根目录下的
firebase.json中hosting配置段,确认是否配置了cleanUrls或自定义重写规则
解决方案
方案1:直接修改跳转路径(最便捷)
把配置中的signInSuccessUrl字段值改为带后缀的完整文件名即可:
signInSuccessUrl: 'signedIn.html',
修改后重新部署即可生效。
方案2:配置Firebase Hosting自动省略html后缀
如果希望保持无后缀的路径风格,修改项目根目录下的firebase.json,在hosting配置中添加"cleanUrls": true规则:
{ "hosting": { "public": "public", // 此处为你配置的静态资源目录,保持原有值即可 "cleanUrls": true, "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ] } }
开启该规则后,Firebase Hosting会自动为无后缀路径匹配同名.html文件,同时自动隐藏URL中的.html后缀,修改后重新执行firebase deploy即可生效。
内容的提问来源于stack exchange,提问作者Thomas Kupfer
相关产品推荐
相关产品推荐

