Solved

Apache server

Posted on 2008-06-25
3
297 Views
Last Modified: 2012-06-21
Hello, i am using mod_defalte module for compression at server end and i want to compress only css and js and uncompress rest of files only for browser IE 6.0 and i have used the following code which is not working please find code snippet attached.
LoadModule deflate_module @@APACHE_DIR@@/modules/mod_deflate.so
 

<Location />

                                                                                                                             

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE image/svg+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/atom_xml

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE text/html
 

BrowserMatch \bMSIE/s6\.0 !no-gzip !gzip-only-text/css text/javascript
 

SetOutputFilter DEFLATE

SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.swf$ no-gzip dont-vary

                                                                                                                             

</Location>

Open in new window

0
Comment
Question by:kranthi_50404
3 Comments
 

Expert Comment

by:ralphcarey
ID: 21897803
Hi,

This isn't a complete solution and I'm not an expert on Apache but I have been looking at compression over the last couple of days and found that the following lines work. They are less verbose than those you are currently using and so possibly easier to edit to meet your requirements:

##ZIP/DEFLATE/COMPRESS
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
##LOG FOR ZIP/DEFLATE/COMPRESS
DeflateFilterNote deflate_ratio
LogFormat "%v %h %l %u %t \"%r\" %>s %b mod_deflate: %{deflate_ratio}n pct." vhost_with_deflate_info
CustomLog /var/log/deflate_access_log vhost_with_deflate_info

The log lines are useful because they show how much pages are being compressed, but if you do not want to know then omit them.

0
 

Author Comment

by:kranthi_50404
ID: 21903922
well that is fine ... i specifically want to compress only css files for IE 6.0 and rest of the files should be uncompressed and for other browsers it should compress every thing except image file(png, gpeg..exc) and pdf files...the above code doesn't do that...
0
 
LVL 27

Accepted Solution

by:
caterham_www earned 500 total points
ID: 21958078
You may try the following snipped (mod_rewrite required).
LoadModule deflate_module @@APACHE_DIR@@/modules/mod_deflate.so
 

RewriteEngine on

RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4

RewriteCond %{HTTP_USER_AGENT} !MSIE

RewriteRule  ^ - [NS,E=gzip-only-text/html,L]
 

RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4\.0[678]

RewriteCond %{HTTP_USER_AGENT} !MSIE

RewriteRule  ^ - [NS,E=no-gzip,L]
 

RewriteCond %{HTTP_USER_AGENT} MSIE\ 6\.0

RewriteRule !\.(?:css|js)$ - [NS,E=no-gzip,L]

 

<Location />

AddOutputFilterByType DEFLATE text/plain text/xml text/css text/javascript text/html

# Make sure proxies don't deliver the wrong content

Header append Vary User-Agent env=!dont-vary

</Location> 

Open in new window

0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most ColdFusion developers get confused between the CFSet, Duplicate, and Structcopy methods of copying a Structure, especially which one to use when. This Article will explain the differences in the approaches with examples; therefore, after readin…
One of the typical problems I have experienced is when you have to move a web server from one hosting site to another. You normally prepare all on the new host, transfer the site, change DNS and cross your fingers hoping all will be ok on new server…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

26 Experts available now in Live!

Get 1:1 Help Now