| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <HTML> |
| <HEAD> |
| <TITLE>Apache module mod_speling</TITLE> |
| </HEAD> |
| <!-- Background white, links blue (unvisited), navy (visited), red (active) --> |
| <BODY |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#000080" |
| ALINK="#FF0000" |
| > |
| <!--#include virtual="header.html" --> |
| <H1 ALIGN="CENTER">Module mod_speling</H1> |
| <P> |
| This module is contained in the <code>mod_speling.c</code> file, |
| and is <strong>not</strong> compiled in by default. |
| It attemps to correct mispellings of |
| URLs that users might have entered, by ignoring capitalization |
| and by allowing up to one misspelling.<br> |
| 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. |
| </P> |
| |
| <h2>Summary</h2> |
| <p> |
| 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 <STRONG>without regard to case</STRONG>, and allowing |
| <STRONG>up to one misspelling</STRONG> (character insertion / omission |
| / transposition or wrong character). A list is built with all document |
| names which were matched using this strategy. |
| </p> |
| <p> |
| If, after scanning the directory, |
| <ul> |
| <li>no matching document was found, Apache will proceed as usual |
| and return a "document not found" error. |
| <li>only one document is found that "almost" matches the request, |
| then it is returned in the form of a redirection response. |
| <li>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. |
| </ul> |
| </p> |
| |
| <h2>Directives</h2> |
| |
| <menu> |
| <li><A HREF="#checkspelling">CheckSpelling</A> |
| </menu> |
| |
| <HR> <!-- the HR is part of the directive description --> |
| <A name="checkspelling"><h2>CheckSpelling</h2></A> |
| <!--%plaintext <?INDEX {\tt CheckSpelling} directive> --> |
| <strong>Syntax:</strong> CheckSpelling <em>on/off</em><br> |
| <strong>Default:</strong> <code>CheckSpelling Off</code><br> |
| <Strong>Context:</strong> server config, virtual host<br> |
| <strong>Status:</strong> Base<br> |
| <strong>Module:</strong> mod_speling<br> |
| <strong>Compatibility:</strong> 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<!-- or: |
| available as a separate module-->.<p> |
| |
| This directive enables or disables the spelling module. When enabled, |
| keep in mind that |
| <UL> |
| <LI>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. |
| <LI>the document trees should not contain sensitive files which could |
| be matched inadvertedly, by a spelling "correction". |
| <LI>the module is unable to correct misspelled user names |
| (as in <code>http://my.host/~apahce/</code>), just file names or |
| directory names. |
| </UL> |
| |
| <!--#include virtual="footer.html" --> |
| </BODY> |
| </HTML> |
| |