Continued from page 1
You're now done with
CGI script. Save it as "404helper.cgi", without
quotes of course. However, there's still work to be done, so take a deep breath and prepare yourself for
next challenge.
Editing your custom 404 page and .htaccess file ===============================================
Just having
script will not be enough. In order for it to work, it has to be executed when an error is encountered. This is
part where
SSI's step into
picture. Open up your 404 error page in a text editor and add
following line into it:
Because
script prints out a few rows of HTML after it has been run,
best place for that line is at
bottom of your 404 error page, but before
tag. After everything is safely in place, simply save
file, but instead of ending it with
usual ".htm" or ".html", use ".shtml". Do not forget to do this, as
SSI tag might not work if you fail to use
proper extension.
Finally, you will have to edit
.htaccess file you created when you built your custom 404 page. If you only have " ErrorDocument 404 http://www.yourdomain.com/404page.html " in it, modify
file so that it will contain
following:
Options Includes ExecCGI AddType application/x-httpd-cgi .cgi .pl AddType text/html .shtml AddHandler server-parsed .shtml ErrorDocument 404 http://www.yourdomain.com/404page.shtml
The new lines will enable Server Side Includes and CGI so that your script will work. Do not forget to change
ErrorDocument 404 line to point to
new .shtml page instead of your old .html version. After you are done, save your .htaccess file.
Upload, set permissions and launch! ===================================
Connect to your host with an FTP program and upload
.shtml version of your 404 page and your new .htaccess file into your root directory. Then go to
directory you've reserved for CGI programs and send
404helper.cgi file there. Make sure that you upload in ASCII, not in Binary mode! I nearly drove myself crazy by accidentally using Binary mode and then trying to figure out why
script refused to work.
Everything is now uploaded and all that remains is to set permissions so that
CGI program can be executed. You'll need to CHMOD 755 both
CGI file and
directory where it is in. The steps you need to take in order to accomplish this depend on what software you are using, but here are
instructions on how to do so with WS_FTP, a popular Windows FTP program which can be downloaded from Tucows.com.
First, navigate to
directory where you've uploaded
CGI program. Left-click it once to highlight
file, then right- click it. Select "chmod (Unix)" from
menu that appears. Give Read, Write and Execute permissions to
Owner and Read and Execute permissions to Group and Other. Then go into
root directory and repeat
same process with
folder of
directory where you placed
CGI program.
That's it. The work is finally done and you can now enjoy
luxury of receiving an E-mail report on all 404 errors, allowing you to quickly stomp out any broken links and improve
quality of your site. Congratulations!
