答案 0 :(得分:50)
该选项只需在firebase.json
文件中设置一个标记,即将所有网址重定向到/index.html
。
"rewrites": [ {
"source": "**",
"destination": "/index.html"
} ]
有关详细信息,请参阅documentation of Firebase Hosting。
答案 1 :(得分:16)
完整示例:
{
"hosting": {
"public": ".",
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
答案 2 :(得分:0)
我们去年(第一季度和第二季度)曾使用过该选项,但它似乎无济于事,但如今,当我们应用它时,肯定会发生很大的变化。 有关其功能的完整官方解释位于此处:
https://firebase.google.com/docs/hosting/url-redirects-rewrites#section-rewrites
同一页的下一部分中甚至还有一些有关标头用法的有用信息。
答案 3 :(得分:0)
请注意:如果您要使用服务器端渲染(SSR),请输入否并按照以下步骤设置rewrites
:
"rewrites": [
{
"function": "angularUniversalFunction",
"source": "**"
}
]
毕竟,无论您选择什么,都可以始终在 firebase.json 文件中进行更改。
答案 4 :(得分:0)
如果将其设置为yes,那么所有无效的URL(例如www.example.com/some-invalid-url
)都将被重定向到您网站的index.html
,这是一件好事。您也可以将其设置为自定义的404.html
。
firebase.json
{
"hosting": {
"public": "pubic",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
],
"cleanUrls": true
}
}
奖金:将cleanUrls
设置为true
,以从部署的网站网址中删除.html
扩展名,否则所有没有.html
的网址都将重定向到index.html
。 / p>