Normally you can easily enable Gzip compression using mod_deflate by adding the following lines to your
But for those of you on shared hosts that don’t allow the mod_deflate module and run PHP in CGI/FastCGI mode you can’t go with the easy method.
So, to serve up your PHP, CSS, and JS files you can try the following method.
Note 1: Your shared web hosting account must support custom
Note 2: Be careful when mixing this solution with other cache/compression applications.
Step 1: PHP Configuration
Add or modify the following lines in your custom php.ini file:
output_handler = Off
zlib.output_compression = On
zlib.output_handler = ob_gzhandler
Now this will take care of gzipping all PHP files.
Step 2: .htaccess Configuration
Add the following lines to the bottom of a .htaccess file in the root of your website.
RewriteRule ^(.*\.js) gzip.php?type=js&file=$1
RewriteRule ^(.*\.css) gzip.php?type=css&file=$1
This will redirect all requests for
.js files through
gzip.php, which we will create in the next step.
Step 3: File Processing PHP Script
The following PHP script will inherently use the PHP compression you’ve already enabled and also add headers to your files take advantage of your client’s browser cache to make subsequent loads faster.
Create a file named
gzip.php in your website’s root and add the following lines to it:
gzip.php and output using PHP’s gzip compression library (zlib).
This method can be extended to more filetypes by adding to the allowed file types in
gzip.php and adding more lines to your