Created
November 4, 2010 16:39
-
-
Save michaelorionmcmanus/662754 to your computer and use it in GitHub Desktop.
faster
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
# gzip compression. | |
<IfModule mod_deflate.c> | |
# html, txt, css, js, json, xml, htc: | |
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json | |
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript | |
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component | |
# webfonts and svg: | |
<FilesMatch "\.(ttf|otf|eot|svg)$" > | |
SetOutputFilter DEFLATE | |
</FilesMatch> | |
</IfModule> | |
# these are pretty far-future expires headers | |
# they assume you control versioning with cachebusting query params like | |
# <script src="application.js?20100608"> | |
# additionally, consider that outdated proxies may miscache | |
# www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/ | |
# if you don't use filenames to version, lower the css and js to something like | |
# "access plus 1 week" or so | |
<IfModule mod_expires.c> | |
Header set Cache-Control "public" | |
ExpiresActive on | |
# Perhaps better to whitelist expires rules? Perhaps. | |
ExpiresDefault "access plus 1 month" | |
# cache.manifest needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5) | |
ExpiresByType text/cache-manifest "access plus 0 seconds" | |
# your document html | |
ExpiresByType text/html "access plus 0 seconds" | |
# data | |
ExpiresByType text/xml "access plus 0 seconds" | |
ExpiresByType application/xml "access plus 0 seconds" | |
ExpiresByType application/json "access plus 0 seconds" | |
# rss feed | |
ExpiresByType application/rss+xml "access plus 1 hour" | |
# favicon (cannot be renamed) | |
ExpiresByType image/vnd.microsoft.icon "access plus 1 week" | |
# media: images, video, audio | |
ExpiresByType image/gif "access plus 1 month" | |
ExpiresByType image/png "access plus 1 month" | |
ExpiresByType image/jpg "access plus 1 month" | |
ExpiresByType image/jpeg "access plus 1 month" | |
ExpiresByType video/ogg "access plus 1 month" | |
ExpiresByType audio/ogg "access plus 1 month" | |
ExpiresByType video/mp4 "access plus 1 month" | |
ExpiresByType video/webm "access plus 1 month" | |
# webfonts | |
ExpiresByType font/truetype "access plus 1 month" | |
ExpiresByType font/opentype "access plus 1 month" | |
ExpiresByType font/woff "access plus 1 month" | |
ExpiresByType image/svg+xml "access plus 1 month" | |
ExpiresByType application/vnd.ms-fontobject "access plus 1 month" | |
# css and javascript | |
ExpiresByType text/css "access plus 1 month" | |
ExpiresByType application/javascript "access plus 1 month" | |
ExpiresByType text/javascript "access plus 1 month" | |
</IfModule> | |
# Since we're sending far-future expires, we don't need ETags for | |
# static content. | |
# developer.yahoo.com/performance/rules.html#etags | |
FileETag None |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment