404

From Freephile Wiki
Jump to navigation Jump to search
Tumbeasts sign1

404 is the server response code for "Document Not Found".

You can do some interesting things with your server to provide a better (or amusing) experience to the user[1].

Here's a simple example just redirects a person to your homepage for any request that would otherwise be 'not found'. It's not actually all that helpful.

ErrorDocument 404 /

Here's a more interesting example for using an ErrorDocument in a virtual hosting scenario where you want to handle not just missing documents, but also 'missing' domains. The challenge: If there's no DocumentRoot, where will the script live? Alias to the rescue.

<VirtualHost *>
  UseCanonicalName Off
  VirtualDocumentRoot /var/www/clients/%-2/%0/
  ServerName catchall.host
  Alias /errors /var/www/default/errors/
  ErrorDocument 404 /errors/notfound.php
</VirtualHost>

Now, when an unconfigured domain is requested, the script at /var/www/default/errors/notfound.php is invoked instead. This script can check $_SERVER['HTTP_HOST'] to see what domain was requested. If it is actually configured, then we have a regular 404. If it's not configured, we can display some alternate error message. You could redirect to a "default" domain, or show a sign-up screen for your hosting service.[2]

References[edit source]