2012-10-14 24 views
5

Tôi không thể lấy tiêu đề hết hạn trên các tệp JS hoạt động bình thường .. Nó hoạt động tốt trên các tệp CSS?tiêu đề hết hạn trên các tệp javascript không hoạt động

Ai đó có thể cho tôi biết Im đang làm gì sai? :(

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 

tiêu đề trên file 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 

tiêu đề trên tập tin 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

Là một thử nghiệm, là các giá trị trong tệp htaccess thực sự được hiển thị trong tiêu đề cho CSS? EG: nếu bạn thay đổi A29030400 thành cái gì khác, bạn có thấy phản ánh trong tiêu đề CSS được phân phối không? Ngoài ra, như một thử nghiệm, những gì sẽ xảy ra nếu bạn cố gắng định dạng htaccess theo một cách khác: < "\ (js) $" FilesMatch> '... ExpiresByType text/css A29030400 ExpiresDefault A29030400 ' ? – Tr1stan

+0

thêm câu trả lời .. giải pháp reg exp với filesMatch hoạt động! : D – clarkk

+0

Vui vì nó đã giúp, trả lời thêm. – Tr1stan

Trả lời

7

Hãy thử gói một ExpiresDefault trong một thẻ <filesMatch thay vì sử dụng ExpiresByType:

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

(không thể bình luận được nêu ra ...) Tôi chạy các cài đặt sau và hoạt động sau.

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" 

nên làm việc

Cheers Robin

0

Bạn có thể cần phải kích hoạt Expires mô-đun từ bên trong Apache của bạn cấu hình máy chủ.

Trong trường hợp của tôi, tôi đã thêm

ExpiresActive On 

ngay trước ExpiresByType chỉ thị đầu tiên và nó bắt đầu làm việc ngay lập tức (sau khi tải lại Apache).

Tôi không chắc chắn tại sao điều này cần được bật rõ ràng. Trên các máy chủ khác, nó được sử dụng để hoạt động ngay sau khi tôi kích hoạt mod với a2enmod (có thể với Apache 2.2, nhưng tôi không thể tìm thấy mẫu rõ ràng)