Проблема Safari с одностраничным приложением AngularJS в режиме HTML5 с AWS (Cloudfront / S3) - PullRequest
0 голосов
/ 01 июня 2018

Я запускаю приложение AngularJS в S3 и обслуживаюсь в дистрибутиве CloudFront.Я выбрал дистрибутив CloudFront для производительности и простоты установки сертификата SSL.SPA находится в режиме HTML5, чтобы иметь чистую структуру URL.

Я настроил html5Mode в своем файле app.js.

    .config(['$locationProvider', function($locationProvider) {
    $locationProvider.hashPrefix('');

}]).config(function($locationProvider){
      $locationProvider.html5Mode(true);
  })

В своем файле index.html я установил базовый тег следующим образом:

<base href="/" />

У меня естькорзина S3, обслуживающая статический веб-сайт, без каких-либо правил перенаправления.

S3 bucket rules

Наконец, на своей панели управления Cloudfront я установил ответ об ошибке следующим образом:

cloudfront error response rules

Я сделал это для 404 и 403 ответов.Когда я пытаюсь открыть ссылку на не корневой путь (/ тарифы), он отлично работает в Chrome и Firefox.Однако в Safari меня перенаправляют на корневой путь.Очевидно, что хэш в Safari и ios не удаляется, если вы используете протокол https.

Я не уверен, как решить проблему, связанную с Safari.Если у кого-то есть опыт решения этой проблемы, я был бы признателен за некоторые рекомендации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...