14

我想使用 Firebase Hosting 来托管一个 Angular 应用程序,我需要创建一个重定向到另一个 URL 中的一些旧文件。

根据 Firebase 文档,您可以进行基本重定向

"redirects": [ {
    "source" : "/foo",
    "destination" : "/bar",
    "type" : 301
}, {
    "source" : "/firebase/*",
    "destination" : "https://www.firebase.com",
    "type" : 302
} ]

但我需要通配符重定向

"redirects": [ {
    "source" : "/config/*",
    "destination" : "//oldsiteurl/config/[match-request]",
    "type" : 302
}]

所以,基本上我需要myapp.firebase.com/config/some.json重定向到//oldsiteurl/config/some.json. 我有很多 json 文件,所以我不想逐个文件匹配。

你知道这是否可能吗?

谢谢!

4

3 回答 3

12

对于登陆此页面的用户,现在可以在 URL 中使用通配符:

有时需要捕获重定向的源 URL 的一部分并在目标中重新使用它们。您可以使用:前缀来标识段,并*在名称后使用可选选项来指示它应该捕获 URL 的其余部分

来源

于 2017-04-19T14:36:09.973 回答
2

关于 URL 重定向的 Firebase 文档(强调我的):

如果找到匹配项,则会设置 HTTP 重定向响应,并将“Location”标头设置为静态目标字符串,该字符串可以是相对路径或绝对 URL。

所以看起来匹配的通配符部分没有被转移到重定向中。

于 2015-09-11T01:47:33.553 回答
2
"redirects": [
      {
        "source": "/subdomain/:random*",
        "destination": "https://subdomain.myapp.com/:random*",
        "type": 301
      }
    ]
于 2019-05-19T23:18:55.267 回答