У меня есть одностраничное веб-приложение, написанное на 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?