I wanted to gzip the javascript and css files on marketo.com. Again, this technology should be DEFAULT on every web host in the world. I have no idea why they don’t have this turned on. Anyway, after another couple of hours, I found this solution which seemed to work. Specifically, it only worked on MediaTemple. It did not work on this server (Bluehost). I am not sure why. Actually, I am really confused.
The method was this:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-javascript
AddType text/html .js .js.gz
AddOutputFilter INCLUDES .js .js.gz
AddHandler application/x-httpd-php .css
php_value auto_prepend_file gzip-css.php
php_flag zlib.output_compression On
ob_start ("ob_gzhandler");
header ("content-type: text/css; charset: UTF-8");
header ("cache-control: must-revalidate");
$offset = 60 * 60;
$expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
header ($expire);
?>
Ok, so that ended up compressing all of the files I needed. JS, CSS and PHP. So now, why doesn’t it work in BlueHost??
Started in 1996, Glen Lipka has been been randomly publishing about User Experience, Technology, Human Psychology and other subjects.
5 Comments
Mike Schinkel
December 4th, 2007 at 11:54 pm
Love this post! Wish I could get it to print correctly, though! ‘-p
(Doesn’t print correctly in either IE7 or FF2)
Glen Lipka
December 5th, 2007 at 7:04 pm
Ok, I added a new print.css which cleans it up.
Is that better?
Mike Schinkel
December 5th, 2007 at 8:53 pm
You da man! I can’t tell you how often as find blogs that won’t print and when I mention it nobody responds or fixes it. Thanks for the effort.
BTW, I like you blog and as both entrepreneurs and web developers we seem to be kindred spirits…
css second way
January 12th, 2008 at 7:10 pm
AddOutputFilterByType DEFLATE text/css application/x-javascript
CacheEnable disk /directorio1/directorio2/style.css
CacheEnable disk /directorio1/directorio2/print.css
CacheEnable disk /directorio3/directorio4/scripts.js
add ur own
me
March 9th, 2008 at 8:41 am
>> Again, this technology should be DEFAULT on every web host in the world. I have no idea why they don’t have this turned on.
Because older browsers can’t handle compressed css and javascript.
Additionally, your php compression should be handled inside php.ini.