W3 Total Cache продолжает кэшировать страницы без https

В настоящее время установлен W3 Total Cache при установке WordPress. Весь сайт поддерживает https://, однако иногда кеш захватывает страницу, полученную с http://. Эта кэшированная страница содержит ссылки на файлы JS и CSS, которые также получены из http, и когда кэшированная страница загружается через https, эти ресурсы не загружаются.

Кто-нибудь знает, как запретить этому плагину кэшировать незащищенный контент?


person cngodles    schedule 27.11.2018    source источник
comment
Я собираюсь предположить, что ваш веб-сервер перенаправляет http на https, а затем вы пытались очистить кеш W3C? Кроме того, вы обновили свои базы данных WP, чтобы использовать домен https, а не http, а затем очистили кеш? Не пытаюсь умалить вопрос, но я бы начал с этого.   -  person user9189147    schedule 27.11.2018
comment
Для siteurl и home заданы URL-адреса https://. Прямо сейчас, когда возникает проблема, мне приходится очищать кеш и снова заходить на страницу. Обычно это исправляет проблему, однако это не идеально, когда меня нет рядом с компьютером, а администратор привязан к утвержденным IP-адресам.   -  person cngodles    schedule 27.11.2018


Ответы (1)


Вы не можете отключить кеширование http-запросов в W3 Total Cache. Только кеширование HTTPS-запросов можно включить/отключить в разделе Кэш страницы | Общие | Кэшировать запросы SSL (https). Так что, я думаю, вы должны попытаться решить эту проблему другими способами.

Если вся ваша установка настроена на https, а HTTP-запросы совершенно нежелательны, добавьте следующие строки в файл WordPress .htaccess:

# **************************************************************************
#   Redirect HTTP to HTTPS
# **************************************************************************
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} ^(.*)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=temporary,L]

Приведенный выше код перенаправит все HTTP-запросы на их эквиваленты в протоколе HTTPS. Таким образом, WordPress никогда не создаст небезопасную страницу, и, как следствие, W3 Total Cache не поместит в свой кеш страницы такого типа.

Кстати: использование «временного» вместо «постоянного» в коде носит конструктивный характер: оно направлено на то, чтобы избежать ужасной проблемы с кэшем браузера, когда по какой-либо причине приходится возвращаться к http-запросам (истекший сертификат и т.п.). .) — см. 301 переадресация: ужас, который невозможно раскэшировать и Как долго браузеры кэшируют HTTP 301?

person aldemarcalazans    schedule 29.11.2018