Apache HTTP Server Version 1.3
Module mod_speling
This module is contained in the mod_speling.c
file,
and is not compiled in by default.
It attempts to correct misspellings of
URLs that users might have entered, by ignoring capitalization
and by allowing up to one misspelling.
This catches the majority of misspelled requests. An automatic
"spelling corrected" redirection is returned if only one matching
document was found, and a list of matches is returned if more than
one document with a sufficiently similar name is found.
Summary
Requests to documents sometimes cannot be served by the core apache
server because the request was misspelled or miscapitalized. This
module addresses this problem by trying to find a matching document,
even after all other modules gave up. It does its work by comparing
each document name in the requested directory against the requested
document name without regard to case, and allowing
up to one misspelling (character insertion / omission
/ transposition or wrong character). A list is built with all document
names which were matched using this strategy.
If, after scanning the directory,
- no matching document was found, Apache will proceed as usual
and return a "document not found" error.
- only one document is found that "almost" matches the request,
then it is returned in the form of a redirection response.
- more than one document with a close match was found, then
the list of the matches is returned to the client, and the client
can select the correct candidate.
Directives
Syntax: CheckSpelling on/off
Default: CheckSpelling Off
Context: server config, virtual host,
directory, .htaccess
Override: Options
Status: Base
Module: mod_speling
Compatibility: CheckSpelling was available as a
separately
available module for Apache 1.1, but was limited to miscapitalizations.
As of Apache 1.3, it is part of the Apache distribution. Prior to
Apache 1.3.2, the CheckSpelling directive was only available
in the "server" and "virtual host" contexts.
This directive enables or disables the spelling module. When enabled,
keep in mind that
- the directory scan which is necessary for the spelling
correction will have an impact on the server's performance
when many spelling corrections have to be performed at the same time.
- the document trees should not contain sensitive files which could
be matched inadvertently by a spelling "correction".
- the module is unable to correct misspelled user names
(as in
http://my.host/~apahce/
), just file names or
directory names.
- spelling corrections apply strictly to existing files, so a request for
the <Location /status> may get incorrectly treated
as the negotiated file "/stats.html".
Apache HTTP Server Version 1.3