In Apache Im enabling output compression by adding the following to my .htaccess file:
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# Or, compress certain file types by extension:
<Files *.html>
SetOutputFilter DEFLATE
</Files>
So I'm serving all content with Content-Encoding: gzip but when I test my webpage with Yslow I receive:
Grade D on Compress components with gzip
There are 3 plain text components that should be sent compressed
* http://mysite.com/javascript/youTubeEmbed/youTubeEmbed-jquery-1.0.css
* http://mysite.com/javascript/jquery.swfobject.1-1-1.min.js
* http://mysite.com/javascript/youTubeEmbed/youTubeEmbed-jquery-1.0.js
Where's the problem?Shouldn't they get compressed automatically??
thanks
Luca
Did you remember to clear your cache before reloading the page and running Yslow?
I had the exact same problem and fixed it like that. This is my code:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
In my case, I resolved the exact same problem just adding this line to the .htaccess file: AddOutputFilterByType DEFLATE text/javascript
Maybe the server is not getting javascript as application/javascript but text/javascript. Hope it helps.
In my case, I had to remove the Reverse-Proxy-Server (nginx) - of course, you can also configure compression using the nginx.conf file (may be located in /etc/nginx or use an own .conf file located in /etc/nginx/conf.d directory) - but nginx caused some other problems. Having removed nginx from a Server using Plesk have a look at these hints: http://forum.parallels.com/showthread.php?t=260563 To cut a long story short: Take care wether the files are really served by your Apache or they are handled by something like nginx. B.t.w. a quick testing tool: http://www.gidnetwork.com/tools/gzip-test.php
来源:https://stackoverflow.com/questions/6405347/apache-compression-deflate-js-and-css-files-not-compressed