Firebase Hosting能否配置旧自定义域名重定向到新自定义域名
结论
无法通过firebase.json的Hosting配置实现该场景下旧域名到新域名的重定向,你当前编写的redirect配置不会生效。
具体原因
- Firebase Hosting的重定向、重写类规则存在明确生效前提:触发规则的请求域名,必须已在当前Firebase项目内完成所有权验证,且已将DNS正确解析到Firebase Hosting的服务节点。未完成绑定验证的域名,Firebase CDN节点不会接收其访问请求,firebase.json内的所有配置对这类域名的流量完全无效。
- 你当前的配置写法不符合Firebase Hosting的规则规范:
redirects字段下的source参数仅支持匹配路径片段,不能直接填写完整域名作为匹配源。如果新旧两个域名都正常绑定在同一个Firebase项目下,要实现旧域名全路径301跳转到新域名,正确配置参考如下:
{ "hosting": [ { "site": "旧域名对应的Firebase Hosting站点ID", "public": "public", "redirects": [ { "source": "/:path*", "destination": "https://newurlofmyapp.com/:path", "type": 301 } ] }, { "site": "新域名对应的Firebase Hosting站点ID", "public": "public" } ] }
- 你的场景存在无法绕过的卡点:旧域名已经过期,既无法完成Firebase要求的域名所有权验证流程,也没有权限修改旧域名的DNS解析记录将访问流量导到Firebase服务端,这种情况下无论怎么调整firebase.json配置,都无法触达访问旧域名的用户,重定向逻辑不可能执行。
内容的提问来源于stack exchange,提问作者davidbilla
相关产品推荐
相关产品推荐

