Firebase Hosting重写至ssr函数失效问题排查
Firebase托管重写至SSR函数返回404的排查方案
以下是几个可能导致问题的原因及解决办法:
修正firebase.json的语法错误
你的配置文件末尾存在多余的逗号(hosting数组闭合后的逗号),这会导致Firebase无法正确解析配置,重写规则自然不会生效。修正后的配置如下:{ "hosting": [ { "target": "dev", "public": "public", "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], "rewrites": [ { "source": "**", "function": "ssr", "region": "europe-west1" } ] } ] }确保部署时指定了目标环境
因为你配置了target: "dev",部署托管时必须明确指定目标,否则Firebase会使用默认配置而非你定义的这个托管实例。正确的部署命令是:firebase deploy --only hosting:dev验证函数名称与区域完全匹配
确认你的SSR函数确实部署在europe-west1区域,且函数名称严格为ssr(大小写敏感)。可以通过Firebase控制台的“函数”页面核对这些信息。检查public目录的状态
托管实例要求public目录必须存在,即使里面没有任何文件。如果该目录缺失,Firebase托管会使用默认设置,跳过你的重写规则。同时确保public目录中没有与请求路径匹配的静态文件(比如index.html),否则托管会优先返回静态文件而非触发函数重写。更新Firebase CLI到最新版本
旧版本的CLI可能对多目标托管或重写规则中的region字段支持不完善,执行以下命令更新:npm install -g firebase-tools
内容的提问来源于stack exchange,提问作者Jesper
相关产品推荐
相关产品推荐

