Firebase 动态托管 重写主页

Posted

技术标签:

【中文标题】Firebase 动态托管 重写主页【英文标题】:Firebase Dynamic Hosting Rewrite the home page 【发布时间】:2017-12-09 01:23:32 【问题描述】:

我正在使用 Firebase 动态托管,并希望我网站上的主页 (https://website.com) 重定向到云功能,而所有其他 URL 都被定向到 React 应用程序。

我已经在 Firebase.json 中尝试过。但这似乎不起作用。

"rewrites": [
   "source": "/", "function": "app",
   "source": "**", "function": "/index.html"
]

对问题所在有什么想法吗?

【问题讨论】:

你试过 "source": "", "function": "app" 【参考方案1】:

当您点击您的网站主页时,firebase 总是会尝试在您的公共目录中查找“index.html”文件。如果找到,则您的重写“未执行”。为避免这种情况,请删除您的“index.html”文件(或只是重命名它),第一次重写将开始工作。

关于第二次重写,如果您尝试返回公共目录的文件,则该对象的键需要是“目标”,而不是“函数”。

假设您将“index.html”文件重命名为“myApp.html”。您的 firebase.json 文件将是:

"rewrites": [
   "source": "/", "function": "app",
   "source": "**", "destination": "/myApp.html"
]

【讨论】:

那是对的耶稣......希望我在自己弄清楚之前找到你的答案***.com/questions/53519531/… 哇!这是真的吗?文档根本没有提到这一点。在过去的 24 小时里,我一直在为此苦苦挣扎。 我对此有一个未解决的问题,他们做出了回应。这实际上是托管响应优先级的预期行为。 Rewrities 的优先级低于静态文件(和主页 === index.html):github.com/firebase/firebase-tools/issues/1785

以上是关于Firebase 动态托管 重写主页的主要内容,如果未能解决你的问题,请参考以下文章

如何在 firebase 托管的 webapp 中获取 firebase 函数 URL?

如何通过 firebase 托管在 firebase 上托管 node.js Web 应用程序(包含多个文件夹)?

Mongoose不适用于Firebase(Express Api)主机

使用 Laravel 托管 ReactJS

为动态链接设置自定义路由,而不使用 Firebase 托管

基于子域的 Firebase 重写