Solved

Apache server

Posted on 2008-06-25
3
294 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

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Have you ever sent email via ColdFusion and thought of tracking this mail to capture the exact date and time when the message was opened ?  If yes, then this article is for you ! First we need a table user_email with columns user_id , email , sub…
If you don't have the right permissions set for your WordPress location in IIS, you won't be able to perform automatic updates. Here's how to fix the problem.
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

746 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

14 Experts available now in Live!

Get 1:1 Help Now