Add expires headers to your apache vhost
In this tutorial, I'll show how you can add expires headers to your vhost to help your website caching strategy
![Add expires headers to your apache vhost](/content/images/size/w2000/2021/03/glenn-carstens-peters-npxXWgQ33ZQ-unsplash.jpg)
In an effort to become more organised in what I need to do when launching a new website, I created a checklist of pre and post launch tasks. I recently completed a site for some family friends (shameless plug, check it out) and it proved to be invaluable.
One thing I almost always forget to do is to set expires headers for static assets. To add expires headers to your apache vhost for static assets, simply add the following between your <directory></directory>
tags:
<ifModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 months"
ExpiresByType image/jpg "access plus 1 months"
ExpiresByType image/jpeg "access plus 1 months"
ExpiresByType image/png "access plus 1 months"
ExpiresByType image/svg+xml "access plus 1 months"
ExpiresByType image/vnd.microsoft.icon "access plus 1 months"
ExpiresByType image/x-icon "access plus 1 months"
ExpiresByType image/ico "access plus 1 months"
ExpiresByType application/javascript "now plus 1 months"
ExpiresByType application/x-javascript "now plus 1 months"
ExpiresByType text/javascript "now plus 1 months"
ExpiresByType text/css "now plus 1 months"
ExpiresDefault "access plus 1 days"
</ifModule>
This will set the expires headers for most image formats, as well as css and JS. I've added a check to ensure you have mod_expires
first so we don't have a 'tango down' moment if the module isn't enabled.
Enable mod expires
If you haven't already got mod expires enabled, just run the following command:
sudo a2enmod expires
That should do the trick. Give apache a restart and you're ready to rock. Feel free to ask questions or share your thoughts below.