Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Проблема кеширования js и css


Автор: Jyka 7.12.2008, 02:45
Опишу проблему. Есть достаточно посещаемый ресурс. Понятное дело, что в htaccess настроено кеширование js и css файлов. 
Например:Header set Cache-Control "max-age=604800, public"
Это ощутимо ускоряет отображение страниц. Но периодически на сайте проводяться разные работы, что-то меняется. В результате содержимое этих самых js и css файлов дополняется. Пользователь, у которого они закешированы старые версии в результате видит ошибки джаваскрипта или подгулявшую верстку.

Итак вопрос. Как сохранить кеширование, но чтобы загружались новые версии файлов css/js, как только они изменятся?
Понятно, что можно отключить кеширование по времени и сервер будет ориентироваться на значение ETAG, но хочется избежать и таких HTTP запросов тоже.

Автор: Lions 10.12.2008, 16:20
При подключении CSS+JS файлов в HTML добавляй в путь дату модификации файла. 
Например, http://URL/mu.js?ver=123456, где 123456 берем из filemtime($filename).

Пока файл не изменялся, действует кеширование. Как только файл обновился — он будет перечитан заново. Не забываем очищать кеш HTML страниц перед этим, если он, конечно, реализован. Проблемы как рукой снимет ;-)
По крайней мере, такую реализацию я видел в FarbaSite cms.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)