School of Computing. Dublin City University.
See three different approaches to this by three different users:
|User||Relationship between URL and file system||What happens if case wrong||Example of correct case||Example of incorrect case|
|Sysadmins||Indirect. Content management system. URL seems to be address of an object in its database.||Content management system can implement its own case-insensitive addressing.||Correct||Incorrect|
|Normal user's personal webspace||Direct||404 Not Found||Correct||Incorrect|
|My personal webspace||Direct||404 triggered, but I use .htaccess to re-direct 404 to my own program to do case-insensitive matching.||Correct||Incorrect|
The program could do a
case-insensitive search on valid URLs to find a match for the bad URL.
It could pre-build a list of all files, and then grep -i with the bad URL string.
This .htaccess file has an ErrorDocument line to redirect 404's to a Program:$HOME/public_html/.htaccess
The program it redirects to is a CGI script.ErrorDocument 404 /cgi-bin/user/prog ErrorDocument 403 /cgi-bin/user/prog
public_html may need to be readable for this to work:
This works for my sub-site only:
It won't work for mis-spellings higher up:
Status: 200 Content-type: text/html
Returning 200 does have problems, though, because then spiders do not realise this link is broken. Everything seemed to work just fine. So, for example, all error URLs will be archived in the Internet Archive as well as all real URLs, since the archive cannot tell they are just error screens.