Normalmente, você precisa definir corretamente os cabeçalhos de armazenamento em cache para o cache de páginas funcionar. Há um bom artigo aqui e os documentos do Apache aqui .
Em resumo desse artigo, você deseja definir o cabeçalho Cache-Control. Você pode definir etag, mas o resto como pragma você não deveria se preocupar.
Cache-Control: max-age=86400
No Apache isso é feito com mod_expires , que seria configurado assim:
# enable expirations
ExpiresActive On
# expire GIF images after a month in the client's cache
ExpiresByType image/gif A2592000
# HTML documents are good for a week from the
# time they were changed
ExpiresByType text/html M604800