| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Вёрстка веб-сайтов > Проблема кеширования 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. |