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:
- In the root of the web edit file .htaccess. It should contain the following:
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
- The CSS for some reason had to be done differently. In an htaccess file in a CSS ONLY directory.
AddHandler application/x-httpd-php .css php_value auto_prepend_file gzip-css.php php_flag zlib.output_compression On
- Additionally put a file called gzip-css.php in that directory. It’s contents:
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??
Whatya think?