Firebase主机重写全局行为问题
我已经建立了一个firebase托管项目,包含三个页面和我的自定义域设置。这些页面根据url中的不同路径被点击。firebase.json文件如下所示Firebase主机重写全局行为问题,firebase,firebase-hosting,Firebase,Firebase Hosting,我已经建立了一个firebase托管项目,包含三个页面和我的自定义域设置。这些页面根据url中的不同路径被点击。firebase.json文件如下所示 { "hosting": { "public": "public", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "rewrites": [ { "source": "/main"
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [ {
"source": "/main",
"destination": "/index.html"
},{
"source": "/waitlistview/**",
"destination": "/waitlistview.html"
},{
"source": "/mwaitlistview/**",
"destination": "/waitlistview-minimal.html"
}
],
"cleanUrls": true
}
}
现在,当我尝试url时:
foodini.co.in/waitlistview
404页面没有出错,我仍然点击了我的页面
然而,如果我点击url:
foodini.co.in/mwaitlistview
我得到了404页,正如我所期望的
如何使第一个url也转到404页根据firebase hosting docs,hosting first尝试将公用目录中的文件映射到url中的路径。只有在没有这样的文件时,重写才会生效 在我的例子中,我在公用文件夹中直接有一个文件/waitlistview.html。因此,firebase宿主只是将url映射到该文件,即使没有尾部斜杠。重写从未发生,因此没有404页 对于任何感兴趣的人: 默认域名直接映射到index.html,无需任何特定路径 另外,通过全局匹配,/waitlistview**与/waitlistview/Ahmedabad/xyz路径不匹配,因此请在**添加之前加一个斜杠
"trailingSlash": false,
排队前
"cleanUrls": true
原因是/waitlistview中的foodini.co.in与/waitlistview/不匹配,它将与/waitlistview匹配