apache compression Deflate .js and .css files not

2020-02-08 03:28发布

问题:

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

回答1:

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


回答2:

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.



回答3:

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