<FilesMatch "^js_[0-9a-f]{32}_.+.js(.gz)?">
# No mod_headers
<IfModule !mod_headers.c>
# No mod_expires
<IfModule !mod_expires.c>
# Use ETags.
FileETag MTime Size
</IfModule>
# Use Expires Directive.
<IfModule mod_expires.c>
# Do not use ETags.
FileETag None
# Enable expirations.
ExpiresActive On
# Cache all aggregated js files for 480 weeks after access (A).
ExpiresDefault A290304000
</IfModule>
</IfModule>
<IfModule mod_headers.c>
# Set a far future Cache-Control header to 480 weeks.
Header set Cache-Control "max-age=290304000, no-transform, public"
# Set a far future Expires header.
Header set Expires "Tue, 20 Jan 2037 04:20:42 GMT"
# Pretend the file was last modified a long time ago in the past.
Header set Last-Modified "Wed, 20 Jan 1988 04:20:42 GMT"
# Do not use etags for cache validation.
Header unset ETag
</IfModule>
</FilesMatch>