How to Set Up A Custom 404 File Not Found Page8:57 PM
A quick survey: what do you usually do when you click a link and encounter a "404 File Not Found" error? Do you: Click on ...
A quick survey: what do you usually do when you click a link and encounter a "404 File Not Found" error? Do you:
- Click on the BACK button of your browser and go somewhere else?
- Try to back up one directory in the URL (ie, web address) and try again?
- Write to the webmaster of the site and the referring site to inform them of the situation?
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 PageIt 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 free web hosts like Geocities or Tripod, you will not be able to customize your 404 Error Page. Commercial web hosts, on the other hand, usually provide this facility.
If your web host supports a way to customise your 404 file, you will usually find mention of it somewhere in their documentation (or advertisements). 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.
.htaccessfile 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. (A web server, in this context, is the software that runs on your web host's computer. It is the program that "serves" your web pages to your visitors.)
Step One: Creating/Modifying the .htaccess FileThis 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. This article only applies to websites that are hosted on Apache web servers.
Otherwise, the first thing you need to do is to add the following line to a file named
.htaccess(note 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). Incidentally, if you are using Notepad on Windows, you will need to enter
".htaccess"(including the opening and closing quotation marks) into the "Save As" dialog box when you create the file, otherwise Notepad will append a ".txt" extension behind your back when it creates the file. And unless you configured Windows to show you the full filename, you won't even realise that it has done so.
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.
.htaccessfile in your main web 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 different
.htaccessfile into that directory. This will override any
.htaccessfiles you have in the parent directories.
Step Two: Creating Your Error Document FileWhat should go into your custom 404 File Not Found page?
It is not good enough to simply let your visitors know that the file could not be found. In order not to lose them, you will need to provide them some way to locate the document they want, or they will leave.
Your page should have one or more of the following things:
- A link to your main page, with a suggestion that the visitor can find what he/she wants there.
- If you have a search engine for your website, you should definitely put a search box on that page. Many people prefer to simply type a query than to scan through your site map.
- A link to your site map, which lists all the pages on your website.
- If you know of frequently mistyped URLs on your site, you can even put links to the correct location directly on the page, so that visitors who arrive there from outside can quickly get to the correct page. Remember, you don't want to lose that visitor, so do all you can to help him/her.
- Any other navigational aids that you may have — for example, if you have a drop down navigation menu on your normal pages, you should probably put one here as well.
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. The Chrome browser behaves no better.
Step Three: Testing the Error DocumentWhen you're satisfied with your page, upload it together with your
.htaccessfile 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.thesitewizard.com/sitemap.shtml">Site Map</a>instead of
<a href="sitemap.shtml">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.