To reduce bandwidth and speed you can install mod_gzip or mod_deflate with your Apache configuration. Unfortunately there are hosting providers who don’t have either of these modules installed.
First we need to download our website to our local machine, use your favorite FTP client and download it to a directory of your choice, in this article I’ll be downloading it to
/d1/websites/ in the directory
If you happen to use the FileZilla FTP client you don’t have to download everything, you can setup a filter which will allow you to only download .js and .css files.
Next you go to the parent directory where you downloaded your website.
Open your favorite editor and create a file called compress.sh and enter the following in the file:
#!/bin/bash for file in `find . -name *js -type f`; do gzip -c $file >$file.gz done for file in `find . -name *css -type f`; do gzip -c $file >$file.gz done
Next you need to make sure this file is executable
chmod +x compress.sh
Now run the file
We have to make some changes in the .htaccess file, it should be located in the directory
blog, if it’s not create it. Open this file and add the following lines at the beginning. If there already is a mod_rewrite section, you can copy the lines 5 through 18 in that section.
Now upload the
blog directory back to your website and you are all set. This should work with Apache 1.3 as well as Apache 2.x.
Some notes for WordPress users. When you update a plugin through the admin interface the gzipped file will no longer be there, this won’t be problem the uncompressed file will be served, but when you update the core you have to do this again. The old gzipped file will still be there and will be used and you can imagine that could lead to all sort of problems.