Без mod_expires будет сложнее установить заголовки срока действия для ваших файлов. Для всего, что сгенерировано, вы, безусловно, можете установить некоторые заголовки по умолчанию для ответа, выполнив работу mod_expires следующим образом:
<?php header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); ?>
(взято из: Ответ на переполнение стека от @brianegge , где также объясняется решение mod_expires)
Теперь это не будет работать для статических файлов , таких как ваши файлы javascript. Что касается статических файлов, между браузером и исходным файлом есть только apache (без какого-либо модуля срока действия). Чтобы предотвратить кеширование файлов javascript, которое выполняется в вашем браузере, вы можете использовать случайный токен в конце URL-адреса js, примерно так ?rd=45642111
, чтобы URL-адрес выглядел так:
<script type="texte/javascript" src="my/url/myjs.js?rd=4221159546">
Если этот URL-адрес на странице создается файлом PHP, вы можете просто добавить случайную часть с помощью PHP. Этот способ рандомизации URL-адреса путем простого добавления параметров случайной строки запроса является базовой вещью, например, при настройке без кеширования запроса ajax jQuery. Браузер никогда не будет считать 2 URL-адреса с разными строками запроса одинаковыми и никогда не будет использовать кешированную версию.
РЕДАКТИРОВАТЬ
Обратите внимание, что вы должны также протестировать mod_headers . Если у вас есть mod_headers, вы можете установить заголовки Expires напрямую с помощью ключевого слова Header .