apache模块 mod_speling
说明 | 自动纠正URL中的拼写错误 |
---|---|
状态 | 扩展(E) |
模块名 | speling_module |
源文件 | mod_speling.c |
概述
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.
CheckSpelling 指令
说明 | Enables the spelling module |
---|---|
语法 | CheckSpelling on|off |
默认值 | CheckSpelling Off |
作用域 | server config, virtual host, directory, .htAccess |
覆盖项 | Options |
状态 | 扩展(E) |
模块 | mod_speling |
兼容性 | 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
".
mod_speling should not be enabled in DAV
enabled directories, because it will try to "spell fix" newly created
resource names against existing filenames, e.g., when trying to upload
a new document doc43.html
it might redirect to an existing
document doc34.html
, which is not what was intended.