Sin mod_expires que será más difícil de establecer cabeceras de vencimiento de sus archivos. Para cualquier cosa genera ciertamente puede establecer algunas cabeceras por defecto en la respuesta, haciendo el trabajo de mod_expires así:
<?php header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); ?>
(tomado de: Stack Overflow answer from @brianegge, donde también se explica la solución mod_expires)
Ahora bien, este won No funciona para archivos estáticos, como sus archivos javascript. En cuanto a los archivos estáticos, solo hay apache (sin ningún módulo de caducidad) entre el navegador y el archivo fuente. Para evitar el almacenamiento en caché de archivos de Javascript, que se realiza en su navegador, se puede utilizar un aleatoria símbolo al final de la url js, algo así como ?rd=45642111
, por lo que la URL se parece a:
<script type="texte/javascript" src="my/url/myjs.js?rd=4221159546">
Si esto la URL en la página se genera mediante un archivo PHP, simplemente puede agregar la parte aleatoria con PHP. Esta forma de aleatorizar URL simplemente añadiendo parámetros de cadenas de consulta aleatorias es la configuración base upôn no-cache de la solicitud de jQuery ajax, por ejemplo. El navegador nunca considerará que 2 url tengan cadenas de consulta diferentes para ser iguales, y nunca usará la versión en caché.
EDITAR
Tenga en cuenta que usted debe probar alos mod_headers. Si tiene mod_headers, puede establecer los encabezados Caduca directamente con la palabra clave Header.
Gracias, esto funciona muy bien en un archivo .htaccess. Puedo ver las opciones de control de caché cuando inspecciono los encabezados y mis archivos se muestran con http 200 en lugar de 304 entre las solicitudes, justo lo que necesitaba. – dmck
No olvide agregar el comando LoadModule. 'LoadModule headers_module lib/modules/mod_headers.so' – Spen
no funciona en Apache/2.4.12 (Ubuntu) – Sarath