Ubutnu Leverage browser caching

July 6, 2021 . 2 MIN READ

https://www.digitalocean.com/community/questions/how-do-setup-gzip-leverage-browser-caching-properly-on-wordpress

Did you enable mod_expires and mod_headers? And remember to restart Apache after changing its configuration. Run:

sudo a2enmod headers

sudo a2enmod expires

service apache2 restart

http://www.liquidweb.com/kb/how-to-configure-apache-2-to-control-browser-caching/

Step #1: Verify Modules

Apache must be configured with the appropriate modules to leverage browser caching.

Let’s check for mod_expires (expires_module) first:

apachectl -M | grep expires

… should return:

expires_module (shared)

Then let’s check for mod_headers (headers_module):

apachectl -M | grep headers

… should return:

headers_module (shared)

Step #2: Examples of Directives

This code can be placed in the .htaccess files for specific directories, or in your root web directory, but we suggest placing it in your httpd.conf.

<IfModule mod_expires.c>
# Turn on the module.
ExpiresActive on
# Set the default expiry times.
ExpiresDefault “access plus 2 days”
ExpiresByType image/jpg “access plus 1 month”
ExpiresByType image/gif “access plus 1 month”
ExpiresByType image/jpeg “access plus 1 month”
ExpiresByType image/png “access plus 1 month”
ExpiresByType text/css “access plus 1 month”
ExpiresByType text/javascript “access plus 1 month”
ExpiresByType application/javascript “access plus 1 month”
ExpiresByType application/x-shockwave-flash “access plus 1 month”
ExpiresByType text/css “now plus 1 month”
ExpiresByType image/ico “access plus 1 month”
ExpiresByType image/x-icon “access plus 1 month”
ExpiresByType text/html “access plus 600 seconds”
</IfModule>

  • Thedefault expiration (ExpiresDefault) is set to 2 days.
  • Imagesexpire after 1 month.
  • CSSand JavaScript also expire after 1 month.
  • HTMLexpires after 10 minutes (600 seconds).

Step #3: Implement Directives

The above directives can be implemented easily. If you’re not already, SSH into your server as root. Then we’ll use vim to edit the httpd.conf file. For a refresher on editing files with vim see: New User Tutorial: Overview of the Vim Text Editor. If you’re using Liquid Web’s CentOS 7 Core Managed image then the following command already uses the correct location:

vim /etc/httpd/conf/httpd.conf

Find a section that looks like this:

# Further relax access to the default document root:
<Directory “/var/www/html”>

… the section above (in this case) is the default document root. Add the expiration directives between<Directory “/var/www/html”> and </Directory>.

Then restart Apache 2!

systemctl restart httpd

Full details for mod_expires can be found in the Apache Documentation.

Leave a Reply

Your email address will not be published. Required fields are marked *