Firebase托管cleanUrls无法在生产中工作

时间:2016-07-22 11:03:33

标签: firebase firebase-hosting

我正在尝试使用cleanUrls选项删除路由中的.html。与firebase serve在本地很好地协作。但是一旦部署到prod,就需要.html

我的测试网站:https://maptennis.firebaseapp.com/ 点击“登录”将引导您前往/login并提供404.将.html附加到网址即可生效。

我的firebase.json配置文件:

{
  "database": {
    "rules": "database.rules.json"
  },
  "hosting": {
    "public": "public"
  },
  "cleanUrls": true,
  "trailingSlash": false
}

这里的任何见解都会很棒。

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题。我的firebase.json文件看起来像这样:

{
  "hosting": {
    "public": "public"
  },
  "cleanUrls": true
}

我注意到我使用的是较旧版本的Firebase CLI。当我更新到最新版本并尝试使用相同的配置文件进行部署时,发生以下错误:

  

托管:我们在firebase.json中找到了一个托管密钥   托管未嵌套在托管密钥内的配置密钥。

     

请运行firebase工具:迁移以解决此问题。请注意   这将覆盖嵌套在托管内的任何配置键   使用firebase.json根目录下的配置键的键。

     

错误:托管密钥和旧托管密钥都存在   firebase.json。

我将json配置文件更改为:

{
  "hosting": {
    "public": "public",
    "cleanUrls": true
  }
}

部署成功,cleanUrls这次工作了:)