如何在Firebase托管中处理动态URL路由 [英] How to handle dynamic URL routing in Firebase hosting

查看:49
本文介绍了如何在Firebase托管中处理动态URL路由的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,假设我在Firebase的公用文件夹中有一个index.htmlsalon.html.

So let's say in my public folder in Firebase i have an index.html and a salon.html.

现在输入xyz.com/salon/43之类的网址,我想加载salon.html,并在javascript中,我想从实时数据库中获取salon 43.

Now for a url like xyz.com/salon/43 I want to load salon.html and in the javascript I want to fetch salon 43 from the realtime database.

现在,我可以使用类似xyz.com/salon?id=43的网址.我想知道是否可以在Firebase托管中进行前者,如果可以的话.

Right now I'm able to have urls like xyz.com/salon?id=43. I'm wondering if it is possible to do the former in Firebase hosting and if so how.

推荐答案

您正在寻找Firebase托管重写.从文档:

You're looking for Firebase Hosting rewrites. From the documentation:

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

Use a rewrite when you want to show the same content for multiple URLs. Rewrites are particularly useful with pattern matching, as you can accept any URL that matches the pattern and let the client-side code decide what to display. Rewrite rules can be used to support apps using HTML5 pushState for navigation. When a browser attempts to open a specified source URL it will be given the contents of the file at the destination URL.

URL重写:

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

这篇关于如何在Firebase托管中处理动态URL路由的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆