Quick .htaccess snippet to disable browser caching by modifying Cache-Control, Pragma, and Expires headers. Strictly plug-n-play.
Just add the following directives to your siteβs root .htaccess file:
# DISABLE CACHING
<IfModule mod_headers.c>
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires 0
</IfModule>
No editing required. I use this technique on several of my sites and it works like a charm. You can verify that it works using any number of freely available online tools, and/or any browser extension that displays header/server response.
Updates
Update #1: Here is another line that you can play with:
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Update #2: Here is another technique for caching static resources while optimizing performance (You can customize the list of file types to suit your specific needs)
<FilesMatch "\.(css|flv|gif|htm|html|ico|jpe|jpeg|jpg|js|png|pdf|swf|txt)$">
<IfModule mod_expires.c>
ExpiresActive Off
</IfModule>
<IfModule mod_headers.c>
FileETag None
Header unset ETag
Header unset Pragma
Header unset Cache-Control
Header unset Last-Modified
Header set Pragma "no-cache"
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Expires "Mon, 10 Apr 1972 00:00:00 GMT"
</IfModule>
</FilesMatch>