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

Firebase Hosting REST API部署成功后访问出现Page not found求助

问题排查与修复方案

1. 修复上传请求头的致命错误

你当前上传逻辑中直接把Content-Length写死为固定值500,这是最核心的问题:不同文件压缩后的大小完全不同,固定长度会导致上传的文件内容被截断/请求不完整,Firebase服务端无法识别到有效文件,这也是versions.patch响应缺失fileCount、versionBytes字段的直接原因。
同时你上传的是gzip压缩后的内容,缺少Content-Encoding头告知服务端压缩格式,会导致服务端将压缩后的二进制直接当做原始文件存储,无法解析文件内容。
修正后的请求头逻辑:

headers = {
    "Authorization": f"Bearer {access_token}",
    "Content-Type": "application/octet-stream",
    "Content-Encoding": "gzip",
    "Content-Length": str(len(bytes)) 
}

2. 修复压缩文件路径的语法错误

你的压缩代码中路径拼接多写了一个多余的反引号,会导致压缩后的文件被写入错误路径,后续上传时读取的要么是空文件要么是不存在的无效文件:
原错误代码:

gzip.open(f"`{OUTPUT_DIR}/{file_name}.gz", 'wb')

修正后:

gzip.open(f"{OUTPUT_DIR}/{file_name}.gz", 'wb')

3. 校验文件哈希与路径配置

调用versions.populateFiles接口时,需要确保两个配置正确:

  • 传入的文件哈希是未压缩的原始文件的SHA-256哈希,不是压缩后文件的哈希
  • 每个文件对应的访问路径正确,比如根路径的首页要对应/index.html路径,否则访问站点根地址会返回404

4. 确认根路径默认文件存在

确保你上传的文件中包含根路径的index.html文件,如果所有文件都放在子目录下,或者路径映射错误,访问站点首页会直接返回Page Not Found。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:45:04