В настоящее время W3 Total Cache установлен на WordPress. Весь сайт включен https: //, но иногда кеш захватывает страницу, полученную из http: //. Эта кэшированная страница содержит ссылки на файлы JS и CSS, которые также получены из http, и когда кэшированная страница загружается через https, эти ресурсы не загружаются.
Кто-нибудь знает, как сохранить этот плагин от кеширования незащищенного контента?
Вы не можете отключить кэширование 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 Redirects: ужас, который нельзя разгадать а также Как долго браузеры кэшируют HTTP 301?
Других решений пока нет …