W3 Total Cache не перезаписывает URL-адреса для файлов, кэшированных в CDN на базе AWS

Я использую плагин W3 Total Cache, плагин настроен для работы с CDN на базе AWS (S3+CloudFront):

  1. Минимизировать файлы CSS и JS
  2. Отправьте их на AWS S3
  3. S3 отправляет их в CloudFront AWS

Описанный выше процесс работает нормально:

  • style.css минимизируется как 18704.css и
  • script.js минимизируется как 39633.js.
  • Автоматическая загрузка в CDN работает, затем я могу вручную получить доступ к файлам, введя URL-адреса в адресную строку браузера:

    • S3 URL e.g. https://<instance>.amazonaws.com/wordpress/wp-content/cache/minify/1/39633.js gets found and
    • URL-адрес CloudFront, например. https://<distribution_id>.cloudfront.net/wp-content/cache/minify/1/39633.js найден

Автоматическая перезапись URL-адреса подключаемым модулем (при загрузке веб-страницы), скорее всего, приведет к сбою, поскольку заголовок HTML по-прежнему содержит исходное имя хоста в URL-адресе:

<script type="text/javascript" src="https://www.example.com/wp-content/cache/minify/1/39633.js"></script>
<link rel="stylesheet" type="text/css" href="https://www.example.com/wp-content/cache/minify/1/18704.css" media="all" />

Почему подключаемый модуль W3 Total Cache не перезаписывает URL-адреса с CloudFront в качестве хоста?

Сетевая консоль Chrome: минимизированные файлы извлекаются с исходного хоста, а не из CDN.

Минифицированные файлы извлекаются с исходного хоста, а не из CDN

ВОЗМОЖНОЕ РЕШЕНИЕ:

Это похоже на обходной путь, но он работает. Указав RewriteRules в файле .htaccess, я заставляю сайт загружать файлы .css и .js через CDN.

RewriteCond %{REQUEST_URI} \.(css|js)$
RewriteRule ^ https://<distribution_id>.cloudfront.net%{REQUEST_URI} [R,L]

Но есть еще один файл, который сопротивляется перенаправлению (18704.css). У меня отключен кеш браузера (даже я удалил кеш браузера вручную), и файл по-прежнему сопротивляется загрузке из кеша. Я думаю, что это не имеет никакого отношения к кэшированию браузера, сетевая консоль Chrome говорит, что файл не загружен из кэша.

18704.css


person Peter G.    schedule 12.08.2017    source источник


Ответы (1)


Что вам нужно, так это установить для параметра minify значение manual, а затем загрузить файл minify с кешем w3total. введите здесь описание изображения

person Yeasir Muhmmad Pervej    schedule 13.01.2018