404

From Freephile Wiki
Revision as of 13:13, 24 February 2025 by Admin (talk | contribs) (Text replacement - "(?s)<source ([^>]*)>(.*?)<\/source>" to "<syntaxhighlight $1>$2</syntaxhhighlight>")
Tumbeasts sign1
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. <syntaxhighlight lang="apache"> ErrorDocument 404 / </source>

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.

<source lang="apache"> <VirtualHost *>

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

</VirtualHost> </syntaxhhighlight> 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]