apache compression Deflate .js and .css files not compressed?

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-27 11:15:20

问题


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



来源:https://stackoverflow.com/questions/6405347/apache-compression-deflate-js-and-css-files-not-compressed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!