Sans mod_expires il sera plus difficile de définir des en-têtes d'expiration sur vos fichiers. Pour tout ce qui est généré, vous pouvez certainement définir des en-têtes par défaut sur la réponse, faisant ainsi le travail de mod_expires :
<?php header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); ?>
(extrait de : Réponse de Stack Overflow de @brianegge (où la solution mod_expires est également expliquée)
Cela ne fonctionnera pas pour fichiers statiques comme vos fichiers javascript. En ce qui concerne les fichiers statiques, il n'y a qu'Apache (sans aucun module d'expiration) entre le navigateur et le fichier source. Pour empêcher la mise en cache des fichiers javascript, qui se fait sur votre navigateur, vous pouvez utiliser un module d'expiration jeton aléatoire à la fin de l'url js, quelque chose comme ?rd=45642111
de sorte que l'url ressemble à ce qui suit :
<script type="texte/javascript" src="my/url/myjs.js?rd=4221159546">
Si l'url de la page est générée par un fichier PHP, vous pouvez simplement ajouter la partie aléatoire avec PHP. Cette façon de rendre l'url aléatoire en ajoutant simplement des paramètres aléatoires à la chaîne de requête est la base de l'option no-cache de la requête ajax jQuery, par exemple. Le navigateur ne considérera jamais que 2 url ayant des chaînes de requête différentes sont les mêmes, et n'utilisera jamais la version mise en cache.
EDIT
Notez que vous devriez également tester mod_headers . Si vous avez mod_headers, vous pouvez peut-être définir les en-têtes Expires directement avec l'option En-tête mot-clé.