Если mod_expires будет использоваться в .htaccess, то будет измененные файлы загружаться клиентом

Я пытаюсь использовать кэширование для ускорения времени отклика веб-сайта. Большая часть документации, которую я прочитал, предлагает установить истечение на +1 месяц со времени доступа следующим образом:

ExpiresActive On
ExpiresByType text/css "access plus 1 month"

Я обеспокоен что, если я обновляю файл CSS, что клиент не получит обновленный файл.

Действительно ли возможно гарантировать, что клиент загружает новую версию файла, если это изменяется?

Любая справка очень ценится

0
задан 17 June 2015 в 22:11
1 ответ

Ваше беспокойство верно - клиенты, браузеры которых получили файл, обычно не получат обновленную версию в течение 1 месяца после обращения к нему, если только они не очистили кеш своего браузера или не перезагрузили страницу.

Один из способов обойти это - когда вы обновляете файл CSS, изменяете HTML, который ссылается на него, чтобы иметь? V = 2 или? V = 3 и т. Д. В конце атрибута href тега ссылки (то есть после .css) . Браузеры рассматривают это как уникальный URL-адрес и, таким образом, загрузят новую копию, однако она будет указывать на тот же физический файл .css на вашем сервере.

<link rel="stylesheet" type="text/css" href="/styles.css" />

становится

<link rel="stylesheet" type="text/css" href="/styles.css?v=2" />
1
ответ дан 4 December 2019 в 16:54

Теги

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