How to Set Up A Custom 404 File Not Found Page
Customizing and Setting up Your Own 404 Error Page
by Christopher Heng, thesitewizard.com
Let's do a quick survey: what do you usually do when you click a URL and encounter a "404 File Not Found" error? Do you:
If you are like most people, you'll simply click on the BACK button and try another place. The majority of people don't even know that there are any other alternatives.
You thus need to do something so that you do not lose this group of people who come to your site by following an old link or by typing your URL incorrectly.
Requirements for Customizing the 404 File Not Found Page
It is not possible to customize your 404 error page if your web host has not enabled this facility for your website. For example, at the time of this writing, if you host at Geocities or Tripod, you would not be able to customize your 404 Error Page.
If your web host has this facility, you will usually find mention of this somewhere in their documentation. In fact, if they mention somewhere that you can customize a file named ".htaccess", it probably means that you can also customize your 404 File Not Found error page.
The .htaccess file is what Apache web servers use to allow you to fine-tune your web server configurations at a directory level. Other types of web servers handle the customization of 404 error pages differently.
Step One: Creating/Modifying the .htaccess File
This step may not be necessary in all situations. Some web hosts already configure their web server so that it will look for a specific file in your web directory when a certain document cannot be found. If so, simply skip this step.
If your web server is not an Apache web server, you will have to find out from your web host what you need to do to enable the server to serve your customized file when a file cannot be found. Otherwise, the first thing you need to do is to add the following line to a file named ".htaccess" (without the enclosing quotes and with the preceding period). In most instances, no such file will exist, and you can simply create one with a text editor (such as Notepad on Windows).
ErrorDocument 404 /notfound.html
You will of course need to put a notfound.html file in the main web directory for the above directive to work.
The "ErrorDocument 404" directive essentially tells the Apache web server that whenever it cannot find the file it needs in that directory and its subdirectories, it is to use the document specified in the URL that follows.
One .htaccess file in your main directory will do the trick for that directory and its subdirectories. However, if you want a certain subdirectory to show a different 404 File Not Found message, you can always place a .htaccess file into that directory. This will override any .htaccess files you have in the parent directories.
Step Two: Creating Your Error Document File
What should go into your custom 404 File Not Found page?
It is not good enough to simply let the visitor know that the file could not be found. In order not to lose that visitor, you will have to provide him some way to locate the document he wanted, or you would have lost him.
Your page should have one or more of the following things:
Incidentally, you should make your 404 page larger than 512 bytes, even when you are testing. Otherwise Internet Explorer (IE) will load what it calls its built-in "friendly HTTP error message" instead of your 404 page.
Step Three: Testing the Error Document
When you're satisfied with your page, upload it together with your .htaccess file to your website. Then test it by typing a URL that you know does not exist.
Your error page should load up. From this error page, test to see that the links here lead to the pages you intended it to lead.
Common Errors with a 404 Custom Error Page
The most common error people have with their custom error page is making a mistake in the URL they put in their .htaccess file. This leads the web server into a loop when a visitor tries to access a missing file. When a file cannot be found the server tries to load the file specified in your ErrorDocument directive. But that file does not exist too, so it tries to load the file specified in that directive. You get the idea.
Make sure you test your error file by typing in a non-existent URL. Do not test it by typing its real URL - that will of course work but it will prove nothing.
Another common error is to forget that your 404 Error Page may be loaded either from the main directory or from a subdirectory or even your CGI-BIN directory. When you put links on your 404 Document Not Found page, such as hyperlinks leading to other pages on your site or links to images (such as your logo), be sure that you use the full URL and not a relative link. That is, use things like
<a href="http://www.example.com/sitemap.html">Site Map</a>
<a href="sitemap.html">Site Map</a>
The first will work even if the 404 page appears for a missing file in a subdirectory, but the second will not.
When a visitor encounters a 404 File Not Found error on your site, you're on the verge of losing the visitor that you've worked so hard to obtain through the search engines and third party links. Creating your custom 404 error page allows you to minimize the number of visitors lost that way.