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

子域名配置正确方法:Firebase+GoDaddy子域名跳转异常求助

解决Firebase托管子域名跳转主站的问题

看起来你已经走完了大部分配置流程,但子域名跳主站的问题大概率出在Firebase托管的多站点配置或者AngularJS的基础路径设置上,我帮你一步步排查解决:

1. 确认Firebase子域名的激活状态

先打开Firebase控制台的「托管」>「域名」页面,检查sub1.website.com和sub2.website.com的状态是否为已激活:

  • 如果显示「待验证」,说明GoDaddy的DNS记录还未完全生效(DNS解析通常需要10分钟到几小时),可以等待一段时间后点击「重新验证」;
  • 如果状态正常,继续往下排查。

2. 修正Firebase托管的多站点配置(关键步骤)

默认情况下,Firebase托管会把所有域名请求都导向根目录的public文件夹,你需要在firebase.json里为每个子域名单独指定对应托管目录。给你一个正确的配置示例:

{
  "hosting": [
    {
      "public": "public",
      "domain": "website.com"
    },
    {
      "public": "public/sub1",
      "domain": "sub1.website.com"
    },
    {
      "public": "public/sub2",
      "domain": "sub2.website.com"
    }
  ]
}

配置完成后,重新部署项目:

firebase deploy --only hosting

这样Firebase就会把每个子域名的请求精准对应到public下的对应子文件夹,而不是主站的根目录。

3. 检查子目录中AngularJS的base href设置

因为你用AngularJS开发,每个子域名对应的子文件夹里的index.html需要正确设置<base href>:

  • 对于sub1.website.com,sub1/index.html里的base标签应该写:
    <base href="/">
    
    不要设置成/sub1/,因为子域名的根路径已经对应到public/sub1文件夹,用绝对根路径才能让AngularJS的路由正常工作。

4. 验证DNS记录的正确性

登录GoDaddy的DNS管理界面,确认子域名的A记录指向的是Firebase提供的托管IP(Firebase控制台会明确给出,通常是两个IPv4地址)。你也可以用命令行工具快速验证:

nslookup sub1.website.com

如果返回的IP和Firebase给出的一致,说明DNS配置没问题。

5. 清除缓存后测试

浏览器缓存可能会保留旧的跳转规则,建议用隐私模式打开子域名测试,或者手动清除浏览器缓存后再访问。另外,Firebase部署后的生效可能需要几分钟,不用太着急。

如果以上步骤都完成后还是有问题,可以去Firebase控制台的「托管」>「日志」页面,查看子域名请求的日志,看看请求被路由到了哪个目录,这样能更精准定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:29:16