Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Begin Caching Performance ###
- # Use UTF-8 encoding for anything served text/plain or text/html
- AddDefaultCharset UTF-8
- # Force UTF-8 for a number of file formats
- <IfModule mod_mime.c>
- AddCharset UTF-8 .atom .css .js .json .rss .vtt .xml
- </IfModule>
- # FileETag None is not enough for every server.
- <IfModule mod_headers.c>
- Header unset ETag
- </IfModule>
- # Since we’re sending far-future expires, we don’t need ETags for static content.
- FileETag None
- <IfModule mod_alias.c>
- <FilesMatch "\.(html|htm|rtf|rtx|txt|xsd|xsl|xml)$">
- <IfModule mod_headers.c>
- Header unset Pragma
- Header append Cache-Control "public"
- Header unset Last-Modified
- </IfModule>
- </FilesMatch>
- <FilesMatch "\.(css|htc|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$">
- <IfModule mod_headers.c>
- Header unset Pragma
- Header append Cache-Control "public"
- </IfModule>
- </FilesMatch>
- </IfModule>
- # Gzip Compression
- <IfModule mod_deflate.c>
- # Force compression for mangled headers.
- <IfModule mod_setenvif.c>
- <IfModule mod_headers.c>
- SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
- RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
- # Don’t compress images and other uncompressible content
- SetEnvIfNoCase Request_URI \
- \.(?:gif|jpe?g|png|rar|zip|exe|flv|mov|wma|mp3|avi|swf|mp?g|mp4|webm|webp|pdf)$ no-gzip dont-vary
- </IfModule>
- </IfModule>
- # Compress all output labeled with one of the following MIME-types
- <IfModule mod_filter.c>
- AddOutputFilterByType DEFLATE "application/atom+xml" \
- "application/javascript" \
- "application/json" \
- "application/ld+json" \
- "application/manifest+json" \
- "application/rdf+xml" \
- "application/rss+xml" \
- "application/schema+json" \
- "application/vnd.geo+json" \
- "application/vnd.ms-fontobject" \
- "application/x-font-ttf" \
- "application/x-javascript" \
- "application/x-web-app-manifest+json" \
- "application/xhtml+xml" \
- "application/xml" \
- "font/eot" \
- "font/opentype" \
- "image/bmp" \
- "image/svg+xml" \
- "image/vnd.microsoft.icon" \
- "image/x-icon" \
- "text/cache-manifest" \
- "text/css" \
- "text/html" \
- "text/javascript" \
- "text/plain" \
- "text/vcard" \
- "text/vnd.rim.location.xloc" \
- "text/vtt" \
- "text/x-component" \
- "text/x-cross-domain-policy" \
- "text/xml"
- </IfModule>
- <IfModule mod_headers.c>
- Header append Vary: Accept-Encoding
- </IfModule>
- </IfModule>
- <IfModule mod_mime.c>
- AddType text/html .html_gzip
- AddEncoding gzip .html_gzip
- </IfModule>
- <IfModule mod_setenvif.c>
- SetEnvIfNoCase Request_URI \.html_gzip$ no-gzip
- </IfModule>
- # Expires headers
- <IfModule mod_expires.c>
- ExpiresActive on
- ExpiresDefault "access plus 1 month"
- # cache.appcache needs re-requests in FF 3.6
- ExpiresByType text/cache-manifest "access plus 0 seconds"
- # CSS
- ExpiresByType text/css "access plus 1 year"
- # Data interchange
- ExpiresByType application/json "access plus 0 seconds"
- ExpiresByType application/xml "access plus 0 seconds"
- ExpiresByType text/xml "access plus 0 seconds"
- # Favicon (cannot be renamed!)
- ExpiresByType image/x-icon "access plus 1 week"
- # HTML components (HTCs)
- ExpiresByType text/x-component "access plus 1 month"
- # HTML
- ExpiresByType text/html "access plus 0 seconds"
- # JavaScript
- ExpiresByType application/javascript "access plus 1 year"
- # Manifest files
- ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
- ExpiresByType text/cache-manifest "access plus 0 seconds"
- # Media
- ExpiresByType image/gif "access plus 1 month"
- ExpiresByType image/jpeg "access plus 1 month"
- ExpiresByType image/png "access plus 1 month"
- ExpiresByType video/mp4 "access plus 1 month"
- ExpiresByType audio/ogg "access plus 1 month"
- ExpiresByType video/ogg "access plus 1 month"
- ExpiresByType video/webm "access plus 1 month"
- # Web feeds
- ExpiresByType application/atom+xml "access plus 1 hour"
- ExpiresByType application/rss+xml "access plus 1 hour"
- # Web fonts
- ExpiresByType application/font-woff "access plus 1 month"
- ExpiresByType application/font-woff2 "access plus 1 month"
- ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
- ExpiresByType application/x-font-ttf "access plus 1 month"
- ExpiresByType font/opentype "access plus 1 month"
- ExpiresByType image/svg+xml "access plus 1 month"
- </IfModule>
- # Send CORS headers if browsers request them; enabled by default for images.
- <IfModule mod_setenvif.c>
- <IfModule mod_headers.c>
- # mod_headers
- <FilesMatch "\.(gif|png|jpe?g|svg|svgz|ico|webp)$">
- SetEnvIf Origin ":" IS_CORS
- Header set Access-Control-Allow-Origin "*" env=IS_CORS
- </FilesMatch>
- </IfModule>
- </IfModule>
- # Webfont access
- <IfModule mod_headers.c>
- <FilesMatch "\.(tt[cf]|otf|eot|woff|woff2|font.css|css|js)$">
- Header set Access-Control-Allow-Origin "*"
- </FilesMatch>
- </IfModule>
- ### End Caching Performance ###
Advertisement
Add Comment
Please, Sign In to add comment