header expire on javascript files not working
Solution 1
Try wrapping an ExpiresDefault
in a <filesMatch
tag instead of using ExpiresByType
:
<filesMatch "\.(js)$">
ExpiresDefault A29030400
</filesMatch>
Solution 2
(can't comment yet...) I run the following settings and it works.
ExpiresByType text/js "access plus 1 years"
ExpiresByType text/javascript "access plus 1 years"
ExpiresByType application/javascript "access plus 1 years"
ExpiresByType application/x-javascript "access plus 1 years"
Should work
Cheers Robin
Solution 3
You might need to activate the Expires module from inside your Apache host configuration.
In my case, I added
ExpiresActive On
right before the first ExpiresByType
directive and it started working instantly (after an Apache reload).
I'm not sure why this needs to be explicitly enabled. On other servers it used to work as soon as I enabled the mod with a2enmod
(maybe with Apache 2.2, but I can't find a clear pattern)
Related videos on Youtube
clarkk
https://dynaccount.dk https://dynaccount.dk/bogfoeringsprogram/ https://dynaccount.dk/regnskabsprogram/
Updated on September 14, 2022Comments
-
clarkk about 1 year
I can't get the expire header on JS files to work properly.. It works fine on eg CSS files!?
Could anybody tell me what Im doing wrong? :(
htaccess
ExpiresActive on ExpiresDefault A0 ExpiresByType image/gif A29030400 ExpiresByType image/jpeg A29030400 ExpiresByType image/png A29030400 ExpiresByType text/css A29030400 ExpiresByType text/javascript A29030400 ExpiresByType application/x-javascript A29030400
header on CSS file
Cache-Control max-age=29030400 Connection Keep-Alive Date Sun, 14 Oct 2012 12:06:45 GMT Etag "be-4cbcf2ad48b40" Expires Sun, 15 Sep 2013 12:06:45 GMT Keep-Alive timeout=5, max=97 Server Apache/2.4.2 (Win64) PHP/5.4.3
header on JS file
Cache-Control max-age=0 Connection Keep-Alive Date Sun, 14 Oct 2012 12:06:45 GMT Etag "1ad-4cc00d069f493" Expires Sun, 14 Oct 2012 12:06:45 GMT Keep-Alive timeout=5, max=99 Server Apache/2.4.2 (Win64) PHP/5.4.3
-
Tr1stan about 11 yearsAs a test, are the values in the htaccess file those actually being shown in the header for the CSS? EG: if you change the A29030400 to something else, do you see that reflected in the served CSS header? Also, as another test, what happens if you try formatting the htaccess in a different way:
... ExpiresByType text/css A29030400 <filesMatch "\.(js)$"> ExpiresDefault A29030400 </filesMatch>
?
-