# Expire rules for static content # No default expire rule. This config mirrors that of apache as outlined in the # html5-boilerplate .htaccess file. However, nginx applies rules by location, # the apache rules are defined by type. A consequence of this difference is that # if you use no file extension in the url and serve html, with apache you get an # expire time of 0s, with nginx you'd get an expire header of one month in the # future (if the default expire rule is 1 month). Therefore, do not use a # default expire rule with nginx unless your site is completely static # cache.appcache, your document html and data location ~* \.(?:manifest|appcache|html?|xml|json)$ { add_header Cache-Control "max-age=0"; } # Feed location ~* \.(?:rss|atom)$ { add_header Cache-Control "max-age=3600"; } # Media: images, icons, video, audio, HTC location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc)$ { access_log off; add_header Cache-Control "max-age=2592000"; } # Media: svgz files are already compressed. location ~* \.svgz$ { access_log off; gzip off; add_header Cache-Control "max-age=2592000"; } # CSS and Javascript location ~* \.(?:css|js)$ { add_header Cache-Control "max-age=31536000"; access_log off; } # WebFonts # If you are NOT using cross-domain-fonts.conf, uncomment the following directive # location ~* \.(?:ttf|ttc|otf|eot|woff|woff2)$ { # add_header Cache-Control "max-age=2592000"; # access_log off; # }