我购买了一个域名(“www.mydomain.com”)。如果我使用 Firebase 托管,如何在 Firebase 上创建子域(“sub.mydomain.com”)?
2 回答
更新
您现在可以将多个域添加到单个 Firebase 托管站点。域可以提供站点内容或重定向到另一个域(随时可编辑)。此外,您现在可以在不同项目中使用相同注册域的子域,例如在一个项目中使用 example.com,在另一个项目中使用 blog.example.com。访问您的托管管理页面以配置它们。
原始答案
如果您将多个子域mydomain.com
指向 Firebase 托管,它会将其他子域重定向到您在指定自定义域时选择的子域。如果您只想提供来自一个子域的内容,您只需在“托管”选项卡上的自定义域字段中指定该子域,然后按照提供的说明将该子域的 DNS 指向 Firebase 托管。
但是,如果您希望在不同的子域上提供不同的内容,目前这是不可能的,尽管这是我们正在考虑实施的一个非常需要的功能
我相信您可以在托管配置 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"
}
}