【问题标题】:Firebase hosting URL needs .html to display a pageFirebase 托管 URL 需要 .html 来显示页面
【发布时间】:2017-10-25 16:25:48
【问题描述】:

我正在尝试在 Google Firebase 上托管一个网站。 index.html 显示为 (e.x.)app.firebase.com,但是当我想访问像 login.html 这样的页面时,我需要输入 app.firebase.com/login.html,只是 app.fire-base.com/login 不起作用。 我如何为目录(公共)中的每个.html 文件实现这一点,我是否需要配置firebase.json?我阅读了文档,但找不到任何信息。

这是我的 .json

 {
      "hosting": {
        "public": "public",
        "signin": "/signin.html"

      }
    }

【问题讨论】:

  • 我没有足够的信心给出完整的答案,但我知道当我使用 emberjs 在 Firebase 中部署应用程序时,路由(即 /login 之类的 URL)全部由 ember 处理。所以我认为你找不到任何东西的原因是因为这是你的前端框架的责任。
  • 我没有使用任何特定的框架,我从一开始就按照说明进行操作,并通过 nodejs 进行部署
  • 所以这可能是 nodejs 的事情?

标签: html node.js firebase firebase-hosting


【解决方案1】:

省略所有资源路径的.html,例如/login.html -> /login

  • "cleanUrls": true 添加到您的.json
  • 如果用户输入 /login.html,firebase 会使用 301 代码自动重定向。

    "hosting": {
      // ...
    
      // Add the "cleanUrls" attribute within "hosting"
      "cleanUrls": true
    }
    

阅读Control .html extensions了解更多信息。


具体路由: 您可以在.json 中创建重定向/重写部分,如下所述,

【讨论】:

  • 能否提供 login.html 的示例,我需要为每个页面手动执行此操作吗?
  • 其实这样可能更好。您想删除所有网址的 html 吗?要为所有路径执行此操作,您可以将 "cleanUrls": true 添加到您的 json firebase.google.com/docs/hosting/full-config#cleanurls 这将删除所有 url 的 .html 并自动重定向例如 /login.html 到 /login
猜你喜欢
  • 1970-01-01
  • 2023-03-15
  • 2020-09-11
  • 2018-01-08
  • 1970-01-01
  • 2022-01-04
  • 2021-09-21
  • 1970-01-01
  • 2018-11-03
相关资源
最近更新 更多