问题描述
问题
我刚刚设置了火力基地。但是,当我加载Firebase提供的链接时,它给了我一个“错误404”。现在我知道该网站已正确托管,因为当我运行本地主机时,我随后在URL的末尾输入了以下扩展名:“ / html / index.html”,并且可以正常工作。
但是,firebase找不到要加载的正确页面。
用于上下文
我很确定我知道firebase在这里做什么。当我第一次运行本地主机时,它正在运行Firebase提供的默认index.html。现在,我已经删除了默认的index.html。它不知道在哪里可以找到要运行的页面。
我的index.html位于公用文件夹内的文件夹中。该内部文件夹的名称为html。
这是文件结构的当前设置,也是我到目前为止为解决该问题所做的尝试(基于Renaud的建议):
更新
解决方法
如Hosting configuration的文档中所述,为了将流量重定向到您的index.html
页(或另一个html文件),您需要添加以下内容到位于项目目录根目录下的firebase.json
文件:
"hosting": {
"public": "public","rewrites": [
{
"source": "**","destination": "/index.html"
}
]
},
OR
"hosting": {
"public": "public","destination": "/mySpecificHomePage.html"
}
]
},
如here所述,“ public
属性指定要部署到Firebase Hosting的目录。默认值为名为public
的目录,但您可以指定任何目录的路径,例如只要它存在于您的项目目录中即可。”
更新后进行更新(Firebase项目文件结构的屏幕截图):
如果我没有记错的话,请按照以下步骤操作:
"hosting": {
"public": "html","destination": "/index.html"
}
]
}
请注意,rewrites
在hosting
之内!