firebase 如何将404重定向到起始页?

bfrts1fy  于 2023-06-24  发布在  其他
关注(0)|答案(3)|浏览(155)

我刚开始在firebase上托管一个web应用程序。自动设置与firebase cli(firebase-tools)创建了一个404.html文件在我的公共文件夹.
但我不想看到一个自定义的404错误页面也不默认的一个firebase.我想重定向所有404到起始页,以便应用程序将得到初始化无论如何。(我的本地设置与webpack-dev-server只是工作正常)
一种解决方法是将来自index.html的相同内容放入404.html。但这导致了双倍的维护。
我发现一些关于重定向配置的信息在这里https://firebase.google.com/docs/hosting/url-redirects-rewrites.但无法重定向404错误类型。使用.htaccess文件是不可能的。
我错过了正确的位置来改变这种行为无论是在我的firebase.json文件还是在https://console.firebase.google.com/??

4dbbbstv

4dbbbstv1#

我不确定这是否对你有用,我从来没有用.htaccess做过什么,但在我的情况下,我总是这样修复它:
您可以在firebase.json文件的rewrites部分中包含通配符路由作为最后一个路由,这样以前未声明的路由将匹配:

"rewrites": [
  {
    // route info here
  },
  {
    // another route
  },
  {
    // If it makes it here, it didn't match any previous routing
    // Match all routes that get to this point and send them to the home page.
    "source": "**",
    "destination": "/index.html"
  }
]
fykwrbwg

fykwrbwg2#

如果你不想留下原始/不存在的URL(例如。https://example.com/asdf)你可以修改404.html源代码并将其替换为js重定向。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Page Not Found</title>
    <script>
      window.location.href = "/";
    </script>
  </head>
</html>
wecizke3

wecizke33#

在firebaes.json中,如果你想让它重定向到404,当它与你的应用程序的任何路由都不匹配时,你只需要将目的地的字段更新为“404.html”。然后运行firebase deploy命令查看更改

相关问题