重写 firebase.json 的规则以配置 firebase 托管

Posted

技术标签:

【中文标题】重写 firebase.json 的规则以配置 firebase 托管【英文标题】:Rewrite Rules for firebase.json to configure firebase hosting 【发布时间】:2020-08-19 09:41:29 【问题描述】:

我正在开发一个网络应用程序并将所有文件托管在 Firebase 托管上。

到目前为止,我的页面 URL 看起来像

mydomain.com/user/index.html?user=username

但是当我进入时

mydomain.com/username

它的行为应该相同。应该有什么规则?

我试过了,但没用


  "hosting": 
    "public": "psNew4",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "redirects": [ 
    "source": "/user/index.html?user=:username", // username is dynamic
    "destination": "https://example.com/:username",
    "type": 301
  ]
  

PS:username 是动态的

有没有办法解决这个问题?

【问题讨论】:

看看firebase.google.com/docs/hosting/full-config#redirects 是的,我已经看到了,但我无法理解。 【参考方案1】:

根据capturing URL segments for redirects 上的 Firebase 文档,您正在寻找这样的东西:

"hosting": 
  // ...

  "redirects": [ 
    "source": "/user/index.html?user=:username",
    "destination": "https://example.com/:username",
    "type": 301
  ]

【讨论】:

你能检查一下它为什么不工作吗? @Frank van Puffelen

以上是关于重写 firebase.json 的规则以配置 firebase 托管的主要内容,如果未能解决你的问题,请参考以下文章

基于子域的 Firebase 重写

nginx配置location及rewrite规则重写

Firebase 动态托管 重写主页

Firebase URL 重写为函数和目标

使用 fb 身份验证的 firebase json db 安全规则

在发布配置中插入重写规则