Firebase 托管重写问题

问题描述 投票:0回答:1

我正在 firebase 托管上托管一个 React 网站,具有以下文件结构。

...
/static
/public
 ...
 privacy.html
 index.html
 

每当我访问任何 url 行

/dashboard
/profile
或其他任何内容时,看起来 Firebase 都会将所有内容重写为
index.html
,这在我的大多数用例中都很好。

但现在我有不同的用例。我在公共目录中有名为

privacy.html
的文件。我只想在用户访问时打开该 html 文件
MY_APP_DOMAIN.com/privacy.html

我不想在前端处理它,因为

privacy.html
文件是简单优化的静态html,我不想首先加载react js包来加载它。

在本地主机中,它工作正常。所以,这一定是 firebase 托管的问题。请指导我如何解决这个问题。

javascript firebase firebase-hosting
1个回答
0
投票

不确定我是否正确理解了你,但如果你想使用以下

配置重写

可选使用重写来显示多个 URL 的相同内容。 重写对于模式匹配特别有用,因为您可以 接受任何与该模式匹配的 URL 并让客户端代码 决定显示什么。

您还可以使用重写来支持使用 HTML5 PushState 的应用程序 导航。当浏览器尝试打开匹配的 URL 路径时 指定的源或正则表达式 URL 模式,浏览器将给出 而是目标 URL 处的文件内容。

通过创建包含对象数组的重写属性(称为“重写规则”)来指定 URL 重写。在每条规则中指定一个 如果与请求 URL 路径匹配,则触发托管的 URL 模式 做出响应,就好像服务已被指定到指定的目的地一样 网址。

尝试添加以下内容

{
  "hosting": {
    "rewrites": [
      {
        "source": "/privacy.html",
        "destination": "/privacy.html"
      }
    ]
  }
}

参考完整配置#firebase-json_example

© www.soinside.com 2019 - 2024. All rights reserved.