Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase在404上呈现自定义页面_Firebase_Firebase Hosting_Firebase Cli - Fatal编程技术网

Firebase在404上呈现自定义页面

Firebase在404上呈现自定义页面,firebase,firebase-hosting,firebase-cli,Firebase,Firebase Hosting,Firebase Cli,我正在为我的站点使用Firebase主机,如果有人尝试像my.site/contact这样的直接链接,他们会看到Firebase呈现的标准404 我想用我自己的页面替换它,因此我创建了一个名为404.html的页面,并放置在src/以及src/app/ 然而,这是行不通的。我的firebase.json如下所示: { "hosting": { "public": "dist", "ignore": [ "firebase.json", "**/.*",

我正在为我的站点使用Firebase主机,如果有人尝试像my.site/contact这样的直接链接,他们会看到Firebase呈现的标准404

我想用我自己的页面替换它,因此我创建了一个名为404.html的页面,并放置在
src/
以及
src/app/

然而,这是行不通的。我的
firebase.json
如下所示:

{
  "hosting": {
    "public": "dist",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}
我可以接受的另一个选择是引导人们登录页面。我想这需要在firebase.json中添加路由规则,请阅读


您的
404.html
文件必须位于公共内容目录的最顶层,根据您的配置,它看起来应该是
dist

确保您的404.html页面与index.html位于同一页面中。。。你说你的网站显示Firebase默认的404页面。这意味着您的项目目录中有404.html文件。你应该搜索它并替换为你自己的你在这里是正确的。但是,在执行ng serve dist时,会创建不带404.html的目录,当我执行firebase部署时,firebase会上载该目录并删除该目录。所以,基本上解决方案是手动复制,但这是一件痛苦的事情,你可以编写一个脚本,在一个命令中完成所有事情。是的,做这样一件简单的事情,处理404页面,似乎只是一个开销。也许你应该问第二个问题,看看是否有正确的方法来做这件事。firebase工具对您没有帮助。这将是Angular工具的一个问题——类似于“如何指定要复制到
dist
中的其他文件?”