2016-07-22 4 views
1

Я пытаюсь использовать опцию cleanUrls для удаления .html в маршрутах. Работает хорошо локально с firebase serve. Но после развертывания в prod требуется .html.Firebase Hosting cleanUrls не работает в производстве

Мой тестовый сайт: https://maptennis.firebaseapp.com/ Нажмите на Вход отвезет в /login и дает 404. Append .html к URL, и он будет работать.

Мой firebase.json конфигурационный файл: { "database": { "rules": "database.rules.json" }, "hosting": { "public": "public" }, "cleanUrls": true, "trailingSlash": false }

Любое понимание здесь было бы здорово.

ответ

1

Я столкнулся с аналогичной проблемой. Мой файл firebase.json выглядел следующим образом:

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

Я заметил, что я использовал старую версию Firebase CLI. Когда я обновлен до последней версии и попытался развернуть с таким же файлом конфигурации, произошла следующая ошибка:

hosting: We found a hosting key inside firebase.json as well as hosting configuration keys that are not nested inside the hosting key.

Please run firebase tools:migrate to fix this issue. Please note that this will overwrite any configuration keys nested inside the hosting key with configuration keys at the root level of firebase.json.

Error: Hosting key and legacy hosting keys are both present in firebase.json.

Я изменил свой конфигурационный файл JSon к этому:

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

Deploy был успешным и cleanUrls работала это время: