Firebase使用1个项目将多个子域托管到应用程序目录

时间:2018-12-22 01:03:44

标签: firebase dns subdomain firebase-hosting

我目前有一个具有以下结构的应用程序部署到Firebase托管:

public/
    appSub1/
        index.html
    appSub2
        index.html
    index.html

我已经添加并连接了我的子域,

appSub1.mysite.com/ -> app.firebaseapp.com/
appSub2.mysite.com/ -> app.firebaseapp.com/

我正在尝试将重定向配置为正确地将子域与正确的应用子文件夹相关联,

appSub1.mysite.com/ -> app.firebaseapp.com/appSub1/
appSub2.mysite.com/ -> app.firebaseapp.com/appSub2/

如果我手动添加子路径,但不是没有子路径,则该应用仍会正确显示。因此,转到appSub1.mysite.com/只会出现在空白页,而转到appSub1.mysite.com/appSub1/则会导致出现在正确的index.html

这是我当前在firebase.json中的托管配置

"hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "appSub1.mysite.com/**",
        "destination": "/appSub1/**",
        "type": 301
      },
      {
        "source": "appSub2.mysite.com/**",
        "destination": "/appSub2/**",
        "type": 301
      }
    ]
  },

1 个答案:

答案 0 :(得分:0)

我建议以下内容:

  1. 在Firebase上升级到Blaze计划
  2. 使用Firebase多站点托管方法(请参阅:https://firebase.google.com/docs/hosting/multisites
  3. public/app1public/app2拆分为两个单独的托管项目目标-例如app1app2-因此,默认情况下,托管地址为app1.firebaseapp.comapp2.firebaseapp.com(或者从2019年5月起,您还将获得一个.web.app域-app1.web.app
  4. 通过在域注册表中配置DNS条目来连接各个子域(请参阅:https://medium.com/@fransandi/use-firebase-multisite-hosting-to-associate-multiple-domains-subdomains-to-your-project-ee099109bfe9