2012-10-14 24 views
5

Nie mogę uzyskać nagłówka wygasania plików JS, aby działał poprawnie. Działa dobrze na np. Plikach CSS !?Nagłówek wygasa w plikach javascript nie działa

Czy ktoś może mi powiedzieć, co robię źle? :(

.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 

nagłówku pliku CSS

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 

nagłówku pliku JS

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 
+2

Czy w teście są wartości w pliku htaccess, które faktycznie są wyświetlane? w nagłówku dla CSS? EG: jeśli zmienisz A29030400 na coś innego, czy widzisz to w nagłówku CSS obsługiwanego? Ponadto, jak innym teście, co dzieje się w przypadku próby formatowania htaccess w inny sposób: < "\ (js) $" FilesMatch> '... ExpiresByType text/css A29030400 ExpiresDefault A29030400 ' ? – Tr1stan

+0

dodaj odpowiedź .. reg exp rozwiązanie z plikamiMatch działa! : D – clarkk

+0

Cieszę się, że pomógł, odpowiedź dodana. – Tr1stan

Odpowiedz

7

Spróbuj owijania ExpiresDefault w <filesMatch tagu zamiast korzystania ExpiresByType:

<filesMatch "\.(js)$"> 
    ExpiresDefault A29030400 
</filesMatch> 
9

(nie można jeszcze komentować ...) ja uruchomić następujące ustawienia i działa.

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" 

Powinna działać

Cheers Robin

0

Być może trzeba aktywować Wygasa moduł od wewnątrz Apache konfiguracja hosta.

W moim przypadku, dodałem

ExpiresActive On 

tuż przed pierwszym dyrektywy ExpiresByType i rozpoczął pracę natychmiast (po przeładowaniu serwera Apache).

Nie jestem pewien, dlaczego należy to wyraźnie włączyć. Na innych serwerach działało, gdy tylko włączyłem mod z a2enmod (może z Apache 2.2, ale nie mogę znaleźć wyraźnego wzorca)