Пробовали это? Должен работать как в .htaccess
, так httpd.conf
и в VirtualHost
(обычно помещается, httpd-vhosts.conf
если вы включили его из своего httpd.conf)
<filesMatch "\.(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>
100% запретить кеширование файлов
Это похоже на то, как в объявлениях Google используется заголовок Cache-Control: private, x-gzip-ok = ""> для предотвращения кеширования рекламы прокси-серверами и клиентами.
С http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html
И при желании добавьте расширение для файлов шаблонов, которые вы извлекаете, если вы используете расширение, отличное от .html
этих.
LoadModule headers_module lib/modules/mod_headers.so
<filesMatch "\.+">
или<filesMatch ^>
На основе примера здесь: http://drupal.org/node/550488
Следующее, вероятно, будет работать в .htaccess
источник
<IfModule mod_expires.c>
и</IfModule>
раздел .. если mod_expires не включен, то вы получите ошибку , вместо этих директив тихо игнорируются.У меня была такая же проблема, но я нашел здесь хорошее решение: прекратить кеширование для PHP 5.5.3 в MAMP
В основном найдите файл php.ini и закомментируйте строки OPCache. Я надеюсь, что этот альтернативный ответ поможет и другим.
источник
Без mod_expires будет сложнее установить заголовки срока действия для ваших файлов. Для всего, что сгенерировано, вы, безусловно, можете установить некоторые заголовки по умолчанию для ответа, выполнив работу mod_expires следующим образом:
(взято из: Ответ на переполнение стека от @brianegge , где также объясняется решение mod_expires)
Теперь это не будет работать для статических файлов , таких как ваши файлы javascript. Что касается статических файлов, между браузером и исходным файлом есть только apache (без какого-либо модуля срока действия). Чтобы предотвратить кеширование файлов javascript, которое выполняется в вашем браузере, вы можете использовать случайный токен в конце URL-адреса js, примерно так
?rd=45642111
, чтобы URL-адрес выглядел так:Если этот URL-адрес на странице создается файлом PHP, вы можете просто добавить случайную часть с помощью PHP. Этот способ рандомизации URL-адреса путем простого добавления параметров случайной строки запроса является базовой вещью, например, при настройке без кеширования запроса ajax jQuery. Браузер никогда не будет считать 2 URL-адреса с разными строками запроса одинаковыми и никогда не будет использовать кешированную версию.
РЕДАКТИРОВАТЬ
Обратите внимание, что вы должны также протестировать mod_headers . Если у вас есть mod_headers, вы можете установить заголовки Expires напрямую с помощью ключевого слова Header .
источник
источник