Чтобы добиться очистки кэша , лучшим способом является отправка правильных заголовков.Убедитесь, что Apache настроен на отправку заголовка Expires: now
.Таким образом, в файле .htaccss:
Header always set Cache-Control "no-store, no-cache, must-revalidate"
Header always set Expires "Thu, 01 Jan 1970 00:00:00 GMT"
Это всегда вызывает принудительное отсутствие кэширования всего содержимого в его каталоге и в любом каталоге.
Однако, если вы хотите условно кэшировать, то япредложил бы, делает одну из нескольких вещей.
Включение номера версии в имя файла CSS.Таким образом, у вас есть файл, который выглядит как mycss.1.css
, mycss.2.css
.Это займет немного больше работы, так как вам нужно согласовать оба имени файла.Но это лучше, поскольку вы не отправляете файлы с помощью PHP (без попадания ресурсов), вы можете использовать CDN (даже лучше), и вы все равно можете воспользоваться заголовками с истекшим сроком давности.
Установите заголовок Cache-Control: must-revalidate
и правильный заголовок E-Tag , чтобы все, что ему нужно было сделать, это отправить заголовок 304 Not Modified
, если содержимое не изменилось ...