Предотвращение кэширования файлов CSS

Я разрабатываю простой веб-сайт с использованием PHP.

Конфигурация разработки: WAMP

Конфигурация производства: ЛАМПА

Во время тестирования я изменил свой CSS-файл, но когда я перезагружаю страницу, мой браузер (не уверен) все еще использует старый кешированный css.

Я сделал несколько поисковых запросов и нашел разные решения, которые я уже пробовал

  • Добавление запроса в конце css css/main.css?78923
  • Использование Ctrl + R (в Firefox) для принудительной выборки ресурса
  • Отключение кеширования Firefox, а также использование надстройки Clear Cache Firefox.

Когда ничего из этого не получилось, я сделал еще несколько поисковых запросов, где я столкнулся со страницей стека ( здесь ), где кто-то предположил, что Apache кэширует ресурсы. Итак, проблема не в Firefox, а на сервере. Парень также предложил решение, которое я не понял (я был новичком)

Мой вопрос состоит из двух частей:

  1. Верно ли, что Apache кэширует ресурсы ? (Как проверить, действительно ли у меня?)
  2. Как предотвратить его кеширование ?

PS: копирование и вставка решения в стек вопрос (тот, который у меня выше как ссылка) не работает 🙁

Я несколько раз сталкивался с этой проблемой и, как правило, сталкивался с проблемой на производственных сайтах, вызывая мой css, как это

 <link rel="stylesheet" type="text/css" href="style.css?v=1" /> 

Когда вы развертываете обновление, просто измените v=1 на v=2 и это заставит всех ваших браузеров пользователей захватить новые таблицы стилей. Это будет работать и для файлов сценариев. Если вы посмотрите источник в Google вы заметите, что они используют этот подход.

У меня была такая же проблема с моей системой LAMP dev, вызванной сетевым креплением. Мне удалось избавиться от него, добавив эти две строки в мой apache conf.

 EnableMMAP off EnableSendfile off 

На моих php-страницах я обычно добавляю текущее время до конца вашего css href:

 <link rel="stylesheet" type="text/css" href="style.css?<?php echo date('l jS \of FY h:i:s A'); ?>" /> 

Ссылка: здесь

Я знаю, что это старый вопрос, но я просто столкнулся с этим и имел некоторые из тех же проблем. Вот быстрый способ не хранить кеш в любом файле:

 <link rel="stylesheet" href="css/style.css?<?=time()?>"> 

Использование помогает получать самую новую версию каждый раз, когда страница загружается.

  1. Apache (-modules) может кэшировать ресурсы ressources, но это не ваша текущая проблема.
  2. Либо отключите браузер, либо перезагрузите кеш-память, либо загрузите css с измененными заголовками. Вы можете написать сценарий, который устанавливает заголовок expiry, чтобы ваш браузер должен был получить новую версию вашего css.

Во всяком случае, я не понимаю смысла в этом. Для разработки проще просто отключить ваш браузер или нажать Ctrl + r.

Я всегда использую httcacheclean когда что-то изменяю в файлах активов (js, css и т. Д.),