一个或多个项目的 Firebase 子域通配符

Firebase subdomain wildcard to one or more project(s)

我们正在为学校编写一个项目。我们需要不同的子域到任何学校,用户应该不同。任何电子邮件都可以作为其他用户在不同的子域上注册。

所以我们想将我们的域和所有子域连接到一个 *.example.com wildcard 的项目。我们将读取子域作为值。我想我们可以用下面的结构来管理它。

示例 1;

     requestUrl           |       firebaseProject                 |       displayUrl
https://example.com      ==> https://projectMain.firebaseapp.com ==> https://example.com
https://sub1.example.com ==> https://projectSub1.firebaseapp.com ==> https://sub1.example.com
https://sub2.example.com ==> https://projectSub2.firebaseapp.com ==> https://sub2.example.com

/// 或

示例 2;

     requestUrl           |       firebaseProject             |       displayUrl
https://example.com      ==> https://project.firebaseapp.com ==> https://example.com
https://sub1.example.com ==> https://project.firebaseapp.com ==> https://sub1.example.com
https://sub2.example.com ==> https://project.firebaseapp.com ==> https://sub2.example.com

可以吗?

很遗憾,Firebase 托管不支持此功能。托管站点只能有一个规范域,任何其他子域都将重定向到规范域。

原始最佳答案的更新,Firebase 托管现在可用于处理通配符。

对于示例 1: 这可以通过 Firebase Hosting 提供的 multi-hosting 来实现。转到 Firebase 控制台的托管部分,然后单击添加另一个页面。

requestUrl      |   firebase sites of same project  |   displayUrl
www.domain.com  =>         www.firebase.app        =>  www.domain.com
xyz.domain.com  =>         xyz.firebase.app        =>  xyz.domain.com

对于示例 2: 只需转到 Firebase 控制台并将子域重定向到您想要的域,并确保在您的 DNS 提供商上修改您的 A 记录。

requestUrlToRedirect     |    firebaseProject
www.domain.com           =>      domain.com