Htaccess: Site error documents: Difference between revisions

Punctuation and grammatical changes; some clarification.
(New page: <span id="top"></span> <div style="padding:0;margin:0; border-bottom:3px inset #000000"> {| | MPG UniCenter || .htaccess: [[Htaccess: Introduction | Introduc...)
 
(Punctuation and grammatical changes; some clarification.)
Line 22: Line 22:
Apache provides some bland error documents however you are not restricted to using these you can provide your own and match them to your sites look.
Apache provides some bland error documents however you are not restricted to using these you can provide your own and match them to your sites look.


== Whats errors produce what ==
== What errors produce what ==
The following are a list of the Apache error numbers and what they relate to:
The following is a list of the Apache error numbers and what they relate to:


{|cellpadding="2" cellspacing:4px style="font-size:11px"
{|cellpadding="2" cellspacing:4px style="font-size:11px"
Line 33: Line 33:
|202 Accepted||style="background:#f0f0f0"|401 Authorization Required||501 Not Implemented
|202 Accepted||style="background:#f0f0f0"|401 Authorization Required||501 Not Implemented
|-
|-
|203 Non-Authorative Information||style="background:#f0f0f0"|403 Forbidden||502 Bad Gateway
|203 Non-Authoritative Information||style="background:#f0f0f0"|403 Forbidden||502 Bad Gateway
|-
|-
|204 No Content||style="background:#f0f0f0"|404 Not Found||503 Service Unavailable
|204 No Content||style="background:#f0f0f0"|404 Not Found||503 Service Unavailable
Line 60: Line 60:
|}
|}
   
   
'''''Note'':''' There is no need to create error pages for all the above, following are worth considering: 401, 403, 404 and 500
'''''Note'':''' There is no need to create error pages for all the above. The following are worth considering: 401, 403, 404 and 500


'''''[[#top | Top]]'''''
== How to create customised error documents ==
== How to create customised error documents ==
Create a new folder in your root folder (www) and name it '''errors'''. This folder contains all the error pages you wish to display. For example '''not_found.html''' this will be displayed when a page cannot be found on your web site.
Create a new folder in your root folder (www) and name it '''errors'''. This folder contains all the error pages you wish to display. For example, '''not_found.html''' will be displayed when a page cannot be found on your web site.


Now open the root htaccess file (the one in your root folder www) and add the following line:
Now open the root .htaccess file (the one in your root folder www) and add the following line:


'''ErrorDocument 404 /errors/not_found.html'''
'''ErrorDocument 404 /errors/not_found.html'''


Save the file. The command '''ErrorDocument 404''' will forward a user to '''yoursite/errors/not_found.html''' file when ever Apache produces the error 404.
Save the file. The command '''ErrorDocument 404''' will forward a user to '''<root folder>/errors/not_found.html''' file when ever Apache produces the error 404.


'''''Note 1'':''' The files and folder can be named anything you like.<br>
'''''Note 1'':''' The files and folder can be named anything you like.<br>
'''''Note 2'':''' You can use a full URL (as oppose to a virtual path) to your error file for example: <nowiki>http://yoursite.com/errors/not_found.html</nowiki>
'''''Note 2'':''' You can use a full URL (as oppose to a virtual path) to your error file; for example: <nowiki>http://yoursite.com/errors/not_found.html</nowiki>


If you create error pages for the above your htaccess file will look similar to this when using virtual paths:
If you create error pages for the above, your .htaccess file will look similar to this when using virtual paths:


:* ErrorDocument 401 /errors/auth_reqired.html
:* ErrorDocument 401 /errors/auth_required.html
:* ErrorDocument 403 /errors/forbidden.html
:* ErrorDocument 403 /errors/forbidden.html
:* ErrorDocument 404 /errors/not_found.html
:* ErrorDocument 404 /errors/not_found.html
Line 84: Line 83:
Or look like similar to this if when using full URL paths:
Or look like similar to this if when using full URL paths:


:*  ErrorDocument 401 <nowiki>http://yoursite.com/errors/auth_reqired.html</nowiki>
:*  ErrorDocument 401 <nowiki>http://yoursite.com/errors/auth_required.html</nowiki>
:*  ErrorDocument 403 <nowiki>http://yoursite.com/errors/forbidden.html</nowiki>
:*  ErrorDocument 403 <nowiki>http://yoursite.com/errors/forbidden.html</nowiki>
:*  ErrorDocument 404<nowiki> http://yoursite.com/errors/not_found.html</nowiki>
:*  ErrorDocument 404<nowiki> http://yoursite.com/errors/not_found.html</nowiki>
:*  ErrorDocument 500 <nowiki>http://yoursite.com/errors/server_error.html</nowiki>
:*  ErrorDocument 500 <nowiki>http://yoursite.com/errors/server_error.html</nowiki>


'''''[[#top | Top]]'''''
 
== Example ==
== Example ==
The following shows a little more detail first create the error page to be displayed
The following shows a little more detail. First create the error page to be displayed:


{|
{|
Line 108: Line 107:
  <title>Not found</title>
  <title>Not found</title>
   <body>
   <body>
     <p>Example of a not found page</p>
     <p>Example of a <b>not found</b> page</p>
   </body>
   </body>
</html>
</html>
Line 132: Line 131:
Deny from all
Deny from all
Allow from 127.0.0.1
Allow from 127.0.0.1
Allow from ::1


# To allow execution of cgi scripts in this directory uncomment next two lines.&nbsp;
# To allow execution of cgi scripts in this directory, uncomment next two lines.&nbsp;


AddHandler cgi-script .pl .cgi
AddHandler cgi-script .pl .cgi
Line 152: Line 152:
=== Testing ===
=== Testing ===


:# Run the server using Server_Start.bat
:# Run the server using Start.exe
:# In the browser address bar type '''<nowiki>http:/localhost/fred.html</nowiki>''' or some other file that does not exist.
:# In the browser address bar, type '''<nowiki>http:/localhost/fred.html</nowiki>''' or some other file that does not exist.
:# Apache will generate the error code 404 and redirect to your not_found.html page
:# Apache will generate the error code 404 and redirect to your not_found.html page


Experiment with the ErrorDocument command and create a few pages.
Experiment with the ErrorDocument command and create a few pages.
   
   
'''''[[#top | Top]]'''''
 
----
----


{|
| [[Image:uc_small_logo.gif]] || [[User:Ric|Ric]]
|}
[[Category: UniCenter]]
[[Category: Support]]
[[Category: Support]]
[[Category: Troubleshooting ]]
[[Category: Troubleshooting ]]
[[Category: Application]]
[[Category: Development]]
[[Category: Development]]