Распространение Cloudfront с приложением React и приложением Wordpress, размещенным в одном домене - как заставить браузеры с приложением React кэшировать для рендеринга приложения Wordpress?

у меня есть домен, на котором размещен веб-сайт реагирования в корзине s3 через облачный интерфейс. Существует также сайт wordpress, размещенный на поддомене этого домена, и в облачном распределении для веб-приложения у меня есть два поведения, настроенных с помощью шаблонов путей en и en / * которые настроены с поддоменом wordpress в качестве источника.

Эта настройка работает при посещении путей en / * в режиме инкогнито и в браузерах, которые никогда не посещали основной домен. Однако в браузере, который ранее посещал домен, браузер отображает приложение React вместо страницы wordpress. Выполнение пустого кеша и жесткая перезагрузка приводит к отображению страницы wordpress, но после этого происходит еще одно обновление, и оно возвращается к рендерингу веб-приложения. Это происходит очень стабильно.

Когда приложение реакции отображается по URL-адресу, который должен отображать приложение wordpress, я получаю следующий заголовок ответа: x-cache: RefreshHit from cloudfront

Кроме того, хотя браузер, который никогда не заходил в приложение React, будет правильно загружать приложение wordpress при посещении пути, начинающегося с / en , как только этот браузер посетили приложение React, пути, начинающиеся с / en , больше не отображают приложение wordpress

Что именно здесь происходит? И есть ли способ заставить его последовательно отображать приложение wordpress без необходимости полностью очищать кеш браузера? Есть ли способ очистить соответствующий элемент кеша с помощью javascript, чтобы я мог сделать это из приложения реакции, когда оно обнаружит, что он находится на одном из этих путей?

0
задан 10 August 2021 в 04:56
1 ответ

Проблема оказалась не связанной с моей конфигурацией облачного фронта или s3, а вместо этого возникла из-за того, что сервис-воркер, запущенный приложением реагирования, перехватывал все запросы к домену после его запуска. Удаление сервисного работника (что я смог сделать, так как он больше не нужен) решило проблему.

0
ответ дан 11 August 2021 в 19:40

Теги

Похожие вопросы