Кэширование изображений

Как менять дизайн если есть кэш

#1 10 мая 2017 в 02:06
Делаю смену элементов в дизайне сайта (например сменил фон ко дню победы). заменил название jpg файла в css, очистил кэш в системе, но...
Браузеры на сегодняшний день кэшируют css файлы и мои изменения получаются бессмысленными, т.к. пользователь, заходивший ранее видит то же самое, ( +с поехавшими другими элементами, если они подстраивались).
Яркий пример — сменил логотип, другие размеры… сдвинул его увеличил размер в css… новый логотип, но со старыми параметрами — итог: обрезан и сдвинут.
В общем прошли праздники, а мой фон, старательно вставленный никто не увидел 😥
#2 10 мая 2017 в 04:34
можете изменить название файла со стиялми styles2.css
#3 10 мая 2017 в 07:15
Собственно это и сделал — но это уже main в добавок менять… прискорбно, но я так понимаю других вариантов нет.
#4 10 мая 2017 в 07:40

я так понимаю других вариантов нет.

Скела
Полно. Можно в main просто добавить версию в пути к файлу
  1. <link rel="stylesheet" href="style.css?v=3.4.1">
А если вместо версии поставить значение текущего времени, то кэширование можно считать отключенным.
#5 10 мая 2017 в 08:30
На хостингах, на которых интегрировано модуль PageSpeed от Google, есть опции, которые меняют имена файлов при их редактировании (вернее имена, которые отдаются сервером при обращении к странице), что решает проблему с кэшем браузера.

#6 10 мая 2017 в 12:40


я так понимаю других вариантов нет.

Скела
Полно. Можно в main просто добавить версию в пути к файлу
А если вместо версии поставить значение текущего времени, то кэширование можно считать отключенным.

Loadырь

а как такое сделать у инстанта
{% set cssupdate = '20150310' %}

<link rel="stylesheet" href="/css/main.{{ cssupdate }}.css">?
#7 10 мая 2017 в 12:49

а как такое сделать у инстанта

yury
Такое лучше не делать, так как у вас название файла css также должно меняться. Лучше так
  1. <link rel="stylesheet" href="style.css?v=<?php echo time();?>">
— каждую секунду
  1. <link rel="stylesheet" href="style.css?v=<?php echo date('Ymd');?>">
— каждый день
#8 10 мая 2017 в 12:55


а как такое сделать у инстанта

yury
Такое лучше не делать, так как у вас название файла css также должно меняться. Лучше так
  1.  
  2.  

Loadырь

а в эту строку как подставить <?php $this->addMainCSS("templates/{$this->name}/css/custom.css"); ?>?
#9 10 мая 2017 в 13:00
  1. <?php $this->addMainCSS("templates/{$this->name}/css/custom.css?v=" . date('Ymd')); ?>
#10 10 мая 2017 в 13:06


Loadырь

как я понимаю, при таком подходе не будет участвовать в склейке css файлов при включенойй опции объединения? у меня почему то сразу сайт перекосило. отключил опцию и все ок
#11 10 мая 2017 в 14:03
Такие файлы лучше подключать без склейки
  1. <?php $this->addCSS("templates/{$this->name}/css/custom.css?v=" . date('Ymd'), false); ?>
#13 10 мая 2017 в 19:31
круто, все работает
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.