Sem mod_expires , será mais difícil definir cabeçalhos de expiração em seus arquivos. Para qualquer coisa gerada, você certamente pode definir alguns cabeçalhos padrão na resposta, fazendo o trabalho de mod_expires assim:
<?php header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); ?>
(extraído de: Resposta do Stack Overflow de @brianegge , onde a solução mod_expires também é explicada)
Agora, isso não funcionará para arquivos estáticos , como os arquivos javascript. Quanto aos arquivos estáticos, existe apenas o apache (sem nenhum módulo de expiração) entre o navegador e o arquivo de origem. Para evitar o armazenamento em cache de arquivos javascript, o que é feito no seu navegador, você pode usar um token aleatório no final do js url, algo como ?rd=45642111
, para que o URL se pareça com:
<script type="texte/javascript" src="my/url/myjs.js?rd=4221159546">
Se esse URL na página for gerado por um arquivo PHP, você pode simplesmente adicionar a parte aleatória com o PHP. Essa maneira de randomizar o URL simplesmente anexando parâmetros aleatórios da string de consulta é a base para a configuração sem cache da solicitação do ajax jQuery, por exemplo. O navegador nunca considerará 2 URLs com cadeias de consulta diferentes iguais e nunca usará a versão em cache.
EDITAR
Observe que você também deve testar mod_headers . Se você possui mod_headers, pode definir os cabeçalhos Expira diretamente com a palavra-chave Header .