2008-12-17 30 views
8

Tôi đang sử dụng Apache.Nén Javascript qua .htaccess?

Tôi tự động gzipping HTML & tệp CSS của mình khi đang chạy bằng cách sử dụng chỉ thị sau trong tệp .htaccess của tôi.

# Enable ETag 
FileETag MTime Size 


# Set expiration header 
ExpiresActive on 
ExpiresDefault "access plus 1 year" 
ExpiresByType image/gif A2592000 
ExpiresByType image/png A2592000 
ExpiresByType image/jpeg A2592000 
ExpiresByType text/css A2592000 
ExpiresByType text/javascript A2592000 
ExpiresByType text/js A2592000 


# Compress some text file types 
AddOutputFilterByType DEFLATE text/html text/css text/xml application/x-javascript text/javascript text/js 


# Deactivate compression for buggy browsers 
BrowserMatch ^Mozilla/4 gzip-only-text/html 
BrowserMatch ^Mozilla/4\.0[678] no-gzip 
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 

Tuy nhiên, khi tôi sử dụng plugin Firebug cho Firefox, tôi nhận thấy rằng các file javascript của tôi không được gzip (chỉ HTML của tôi và các file CSS là).

Bất kỳ ý tưởng nào tại sao các tệp JavaScript của tôi không được Apache tải xuống ngay lập tức?

Trả lời

3

Bạn đã khai báo loại văn bản/javascript MIME trong Apache? Nếu điểm cấu hình máy chủ của bạn, nói rằng, một file mime.types với một trong những:

TypesConfig /private/etc/apache2/mime.types 

rồi nói tập nên bao gồm dòng này:

application/javascript    js 

Nếu không, bạn sẽ thấy một trong những nơi:

AddType application/javascript .js 

Ít nhất, đây là dự đoán đầu tiên của tôi, nếu tệp HTML và CSS đang được nén và tệp JavaScript thì không.

8

I figured it out, hình như tôi cần nó để được:

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml application/x-javascript text/javascript application/javascript 

Để có được javascript để nén/gzip

+0

bằng cách này, tôi vẫn gặp phải vấn đề tương tự. Các tệp Javascript và Css không được nén. –

+0

Không làm việc cho tôi. – sholsapp

1

Hãy thử đặt tờ khai của bạn trên dòng riêng biệt. Đây là phần liên quan của một trong các tệp .htaccess của tôi hoạt động như mong muốn. Nếu bạn giữ tập lệnh của mình trong một thư mục riêng biệt (chẳng hạn như/js) thì tệp này cũng phải nằm trong thư mục đó.

AddOutputFilterByType DEFLATE text/plain 

AddOutputFilterByType DEFLATE text/html 

AddOutputFilterByType DEFLATE text/xml 

AddOutputFilterByType DEFLATE text/css 

AddOutputFilterByType DEFLATE text/javascript 

AddOutputFilterByType DEFLATE text/js 

AddOutputFilterByType DEFLATE application/xml 

AddOutputFilterByType DEFLATE application/xhtml+xml 

AddOutputFilterByType DEFLATE application/rss+xml 

AddOutputFilterByType DEFLATE application/javascript 

AddOutputFilterByType DEFLATE application/x-javascript 
Các vấn đề liên quan