Одностраничное приложение Angular работает нормально, но возвращает 404 при попадании на любую страницу, кроме главной - PullRequest
0 голосов
/ 21 марта 2019

У меня есть одностраничное веб-приложение, написанное на Angular.

Когда я запускаю его на локальной машине с ng serve, он работает нормально.

При развертывании в сегменте в AWS S3 все страницы, кроме главной, возвращают ошибку 404. Другими словами, ошибка 404 возникает при попытке загрузить любой маршрут напрямую.

Например, / возвращает 200 OK, но /terms, /register?lang=en, /store - все из которых фактически загружают одно и то же одностраничное приложение - возвращают 404 Not Found.

Хотя код ошибки 404, HTML-код по-прежнему возвращается правильно, и большинство пользователей видят все страницы правильно.

Однако некоторые инструменты тестирования и некоторые мобильные браузеры не работают, когда код состояния HTTP равен 404, а не 200.

Заголовки ответа включают это:

x-amz-error-code →NoSuchKey
x-amz-error-message →The specified key does not exist.
x-amz-error-detail-Key →register

Что может быть неправильно настроено, что вызывает эту ошибку? Что-то в приложении или что-то в AWS?

1 Ответ

0 голосов
/ 21 марта 2019

У меня была такая же проблема в аналогичном контексте, и я смог ее решить, создав копию файла index.html, назвав ее 404.html

...