如何在Firebase上创建自定义子域?

Dou*_*Liu 29 subdomain dns firebase firebase-hosting

我已经购买了一个域名("www.mydomain.com").如果我使用Firebase托管,如何在Firebase("sub.mydomain.com")上创建子域?

Chr*_*nor 29

更新

您现在可以将多个域添加到单个Firebase托管站点.域可以提供网站内容或重定向到另一个域(可随时编辑).此外,您现在可以在不同的项目中使用相同注册域的子域,例如一个项目上的example.com和另一个项目上的blog.example.com.访问您的托管管理页面进行配置.

原始答案

如果您将多个子域mydomain.com指向Firebase托管,则会将其他子域重定向到您在指定自定义域时选择的子域.如果您只想提供来自一个子域的内容,您只需在"托管"标签上的自定义域字段中指定该内容,然后按照提供的说明将该子域的DNS指向Firebase托管.

但是,如果您希望在不同的子域上提供不同的内容,那么目前这是不可能的,尽管这是我们正在考虑实施的高度要求的功能

  • @Chris这是必备功能,因为我们的应用程序依赖于自定义子域来确定用户子集/帐户.我们现在不得不在其他地方寻找其他托管,遗憾的是,因为我喜欢Firebase的简单性. (12认同)
  • 不能这样做是荒谬的,这是我不将 PWA 项目导出到 Firebase 的唯一原因。 (4认同)
  • @Chris使用新的firebase更新是否可以将不同的应用程序指向不同的子域? (3认同)
  • 嘿@Chris,请尽快在不同的子域名上做不同的内容:D有任何更新吗? (2认同)

Jos*_*uez 10

我相信您可以在托管配置 json 文件上使用重写规则

由于您指向您的 firebase 项目的所有域和子域都将被重定向到您的单个 firebase 托管存储桶,因此您需要为要分离的每个域设置自定义重写规则,将它们重定向到您项目中的特定文件夹或云功能.

我建议检查下一个 url 作为阅读材料,它是一种在 firebase https://github.com/jthegedus/firebase-functions-next-example 中处理项目的新技术

在您的 firebase.json 文件上

{
  "database": {
    "rules": "database.rules.json"
  },
  "hosting": {
    "public": "public",
    "rewrites": [
      {
        "source": "/.well-known/assetlinks.json",
        "destination": "/instant/assetlinks.json"
      },
      {
        "source": "sub.domain.com/**",
        "destination": "/subdomain/**"
      }
    ]
  },
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  }
}
Run Code Online (Sandbox Code Playgroud)