Last active
May 18, 2018 17:02
-
-
Save joshhartman/0f40932014f586a15b19ff04307c50be to your computer and use it in GitHub Desktop.
Leverage browser caching and GZip compression (Apache)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## EXPIRES CACHING ## | |
<IfModule mod_expires.c> | |
ExpiresActive On | |
ExpiresByType image/x-icon "access plus 1 year" | |
ExpiresByType image/jpg "access plus 1 year" | |
ExpiresByType image/jpeg "access plus 1 year" | |
ExpiresByType image/gif "access plus 1 year" | |
ExpiresByType image/png "access plus 1 year" | |
ExpiresByType application/pdf "access plus 1 year" | |
ExpiresByType application/x-shockwave-flash "access plus 1 year" | |
ExpiresByType text/css "access plus 5 minutes" | |
ExpiresByType text/x-javascript "access plus 5 minutes" | |
ExpiresDefault "access plus 2 minutes" | |
</IfModule> | |
## EXPIRES CACHING ## | |
## TURN ETAGS OFF ## | |
FileETag None | |
## TURN ETAGS OFF ## | |
## CACHE-CONTROL HEADERS ## | |
<IfModule mod_headers.c> | |
<FilesMatch "\.(ico|jpe?g|png|gif|swf)$"> | |
Header set Cache-Control "public" | |
</FilesMatch> | |
<FilesMatch "\.(css)$"> | |
Header set Cache-Control "public" | |
</FilesMatch> | |
<FilesMatch "\.(js)$"> | |
Header set Cache-Control "private" | |
</FilesMatch> | |
<FilesMatch "\.(x?html?|php)$"> | |
Header set Cache-Control "private, must-revalidate" | |
</FilesMatch> | |
</IfModule> | |
## CACHE-CONTROL HEADERS ## | |
## GZIP COMPRESSION ## | |
<IfModule mod_deflate.c> | |
# Compress HTML, CSS, JavaScript, Text, XML and fonts | |
AddOutputFilterByType DEFLATE application/javascript | |
AddOutputFilterByType DEFLATE application/rss+xml | |
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject | |
AddOutputFilterByType DEFLATE application/x-font | |
AddOutputFilterByType DEFLATE application/x-font-opentype | |
AddOutputFilterByType DEFLATE application/x-font-otf | |
AddOutputFilterByType DEFLATE application/x-font-truetype | |
AddOutputFilterByType DEFLATE application/x-font-ttf | |
AddOutputFilterByType DEFLATE application/x-javascript | |
AddOutputFilterByType DEFLATE application/xhtml+xml | |
AddOutputFilterByType DEFLATE application/xml | |
AddOutputFilterByType DEFLATE font/opentype | |
AddOutputFilterByType DEFLATE font/otf | |
AddOutputFilterByType DEFLATE font/ttf | |
AddOutputFilterByType DEFLATE image/svg+xml | |
AddOutputFilterByType DEFLATE image/x-icon | |
AddOutputFilterByType DEFLATE text/css | |
AddOutputFilterByType DEFLATE text/html | |
AddOutputFilterByType DEFLATE text/javascript | |
AddOutputFilterByType DEFLATE text/plain | |
AddOutputFilterByType DEFLATE text/xml | |
# Remove browser bugs (only needed for really old browsers) | |
BrowserMatch ^Mozilla/4 gzip-only-text/html | |
BrowserMatch ^Mozilla/4\.0[678] no-gzip | |
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html | |
Header append Vary User-Agent | |
</IfModule> | |
## GZIP COMPRESSION ## |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment