如何在Firebase托管中处理动态URL路由

时间:2017-05-30 11:45:34

标签: javascript firebase frontend firebase-hosting

所以,让我们在Firebase的公共文件夹中说我有index.htmlsalon.html

现在有一个像xyz.com/salon/43这样的网址我要加载salon.html并在javascript中我想从实时数据库中获取沙龙43。

现在我可以拥有xyz.com/salon?id=43这样的网址。我想知道是否有可能在Firebase托管中执行前者,如果是这样的话。

1 个答案:

答案 0 :(得分:10)

您正在寻找Firebase托管重写。来自this

  

如果要为多个网址显示相同的内容,请使用重写。重写对于模式匹配特别有用,因为您可以接受与模式匹配的任何URL,并让客户端代码决定要显示的内容。重写规则可用于支持使用HTML5 pushState进行导航的应用程序。当浏览器尝试打开指定的源URL时,将在目标URL上为该文件提供内容。

     

可以通过在rewrites文件中的托管中定义firebase.json部分来指定网址重写:

"hosting": {
  // Add the "rewrites" section within "hosting"
  "rewrites": [ {
    "source": "**",
    "destination": "/index.html"
  } ]
}