/apache/optimizations/expiration/expiration.conf |
@@ -0,0 +1,88 @@ |
######################################################################## |
# Expiration - sets cache expiration for content. # |
# Depends on Apache modules: # |
# expires, headers # |
######################################################################## |
|
# Serve resources with far-future expires headers. |
# |
# (!) If you don't control versioning with filename-based |
# cache busting, you should consider lowering the cache times |
# to something like one week. |
# |
# https://httpd.apache.org/docs/current/mod/mod_expires.html |
<IfModule mod_expires.c> |
ExpiresActive on |
ExpiresDefault "access plus 1 month" |
|
## CSS |
ExpiresByType text/css "access plus 1 year" |
|
## Data interchange |
ExpiresByType application/atom+xml "access plus 1 hour" |
ExpiresByType application/rdf+xml "access plus 1 hour" |
ExpiresByType application/rss+xml "access plus 1 hour" |
|
ExpiresByType application/json "access plus 0 seconds" |
ExpiresByType application/ld+json "access plus 0 seconds" |
ExpiresByType application/schema+json "access plus 0 seconds" |
ExpiresByType application/vnd.geo+json "access plus 0 seconds" |
ExpiresByType application/xml "access plus 0 seconds" |
ExpiresByType text/xml "access plus 0 seconds" |
|
## Favicon (cannot be renamed!) and cursor images |
ExpiresByType image/vnd.microsoft.icon "access plus 1 week" |
ExpiresByType image/x-icon "access plus 1 week" |
|
## HTML |
ExpiresByType text/html "access plus 60 seconds" |
|
## JavaScript |
ExpiresByType application/javascript "access plus 1 year" |
ExpiresByType application/x-javascript "access plus 1 year" |
ExpiresByType text/javascript "access plus 1 year" |
|
## Manifest files |
ExpiresByType application/manifest+json "access plus 1 week" |
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" |
ExpiresByType text/cache-manifest "access plus 0 seconds" |
|
|
## Media files |
ExpiresByType audio/ogg "access plus 1 month" |
ExpiresByType image/bmp "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 image/svg+xml "access plus 1 month" |
ExpiresByType image/webp "access plus 1 month" |
ExpiresByType video/mp4 "access plus 1 month" |
ExpiresByType video/ogg "access plus 1 month" |
ExpiresByType video/webm "access plus 1 month" |
|
## Web fonts |
# Embedded OpenType (EOT) |
ExpiresByType application/vnd.ms-fontobject "access plus 1 month" |
ExpiresByType font/eot "access plus 1 month" |
# OpenType |
ExpiresByType font/opentype "access plus 1 month" |
# TrueType |
ExpiresByType application/x-font-ttf "access plus 1 month" |
# Web Open Font Format (WOFF) 1.0 |
ExpiresByType application/font-woff "access plus 1 month" |
ExpiresByType application/x-font-woff "access plus 1 month" |
ExpiresByType font/woff "access plus 1 month" |
# Web Open Font Format (WOFF) 2.0 |
ExpiresByType application/font-woff2 "access plus 1 month" |
|
## Other |
ExpiresByType text/x-cross-domain-policy "access plus 1 week" |
|
# Remove `ETags` as resources are sent with far-future expires headers. |
<IfModule mod_headers.c> |
Header unset ETag |
</IfModule> |
|
FileETag None |
|
</IfModule> |