Firebase 中具有 glob 模式的动态重写规则

Dynamic rewrite rules with glob patterns in Firebase

我有一个指向 "project detail" 页面的 URL 结构,如下所示:john/project/eRdKn6(其中 "john" 是用户名,"eRdKn6" 是项目编号)。我希望将其重写到文件 project.html,我在其中解析 document.location 并加载适当的数据。所以用户名和项目id应该是动态的。

我在 firebase.json 中的规则如下所示:

{
  "source": "*/project/*",
  "destination": "/project.html"
}

但是,当我尝试加载 http://example.com/john/project/eRdKn6.

时,Firebase 出现 404

我试图只让最后一部分动态化,作为测试(例如 {"source": "john/project/*", "destination": "/project.html"} 但我也得到了 404。

project.htmlpublic 文件夹中。

这是我的完整 firebase.json 文件:

{
  "firebase": "example",
  "public": "public",
  "ignore": [
    "firebase.json",
    "**/.*",
    "**/node_modules/**"
  ],
  "rewrites": [
    {"source": "*/project/*", "destination": "/project.html"}
  ]
}

问题似乎是 source 需要一个起始斜杠,例如/*/project/*。我的完整 firebase.json 现在看起来像这样:

{
  "firebase": "example",
  "public": "public",
  "ignore": [
    "firebase.json",
    "**/.*",
    "**/node_modules/**"
  ],
  "rewrites": [
    {"source": "/*/project/*", "destination": "/project.html"}
  ]
}

这似乎是一个文档问题,因为 none 个示例涵盖了这个用例。