45

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

4

2 回答 2

35

更新

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

原始答案

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

但是,如果您希望在不同的子域上提供不同的内容,目前这是不可能的,尽管这是我们正在考虑实施的一个非常需要的功能

于 2015-05-11T17:50:47.957 回答
11

我相信您可以在托管配置 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"
  }
}
于 2017-10-23T15:34:41.940 回答