Принудительно обновить кэш у посетителей. Как ?

Тема в разделе "Общие вопросы", создана пользователем ArtiomF, 1 июн 2025.

  1. ArtiomF

    ArtiomF Новичок

    Сообщения:
    21
    Симпатии:
    1
    Добрый день. Обновил дизайн сайта, прошло около недели, а у посетителей он обновился только частично. Чистил storage/cache - не помогает. Можно ли как то принудительно у них обновить его ?
    СПАСИБО!
     
  2. Rubynoid

    Rubynoid Пользователь

    Сообщения:
    109
    Симпатии:
    5
    А как вы принудительно у них кеш браузера обновите?))
     
  3. ArtiomF

    ArtiomF Новичок

    Сообщения:
    21
    Симпатии:
    1
    В этом и заключается мой вопрос.
     
  4. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    882
    Симпатии:
    124
    Здравствуйте

    К адресам стилей и скриптов нужно добавить какой-нибудь дополнительный параметр.

    Скажем было

    ../style.css

    Стало

    ../style.css?v=1.1
     
    ArtiomF, Tesloz и Blast нравится это.
  5. ArtiomF

    ArtiomF Новичок

    Сообщения:
    21
    Симпатии:
    1
    а такой вариант с .htaccess подойдет ?

    <IfModule mod_rewrite.c>
    RewriteEngine On

    # Добавляем ?v=XXX к CSS-файлам
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*\.css)$ $1?lm=%{TIME_YEAR}%{TIME_MON}%{TIME_DAY} [L,QSA]

    # Добавляем ?v=XXX к JS-файлам
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*\.js)$ $1?lm=%{TIME_YEAR}%{TIME_MON}%{TIME_DAY} [L,QSA]

    # Добавляем ?v=XXX к изображениям (по желанию)
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*\.(png|jpg|jpeg|gif|webp|svg))$ $1?lm=%{TIME_YEAR}%{TIME_MON}%{TIME_DAY} [L,QSA]
    </IfModule>
     
  6. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    882
    Симпатии:
    124
    Честно говоря, никогда такого не делал, поэтому сложно сказать
     
  7. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    882
    Симпатии:
    124
    Единственно, что сразу бросается в глаза - это использование дней. Так у вас скрипты будут кэшироваться всего на 1 день и это будет дополнительно грузить сайт, если он часто посещаемый. Хотя бы месяцем ограничиться или, как вариант, прописывать конкретные версии, чтобы вручную корректировать
     
  8. vrndorog

    vrndorog Новичок

    Сообщения:
    9
    Симпатии:
    0
    Как вариант, можно передавать заголовки с Cache-Control. (header("Cache-Control: public, max-age=86400"); //Будет запрашивать статичные файлы раз в сутки). Но лучше, конечно, изменять имя файла.