mod_speling.xml revision b1d5e64b28c637587fe6809bc1a19be1730545d4
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<modulesynopsis>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<description>Attempts to correct mistaken URLs that
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndusers might have entered by ignoring capitalization and by
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndallowing up to one misspelling</description>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <p>Requests to documents sometimes cannot be served by the core
4b5981e276e93df97c34e4da05ca5cf8bbd937dand apache server because the request was misspelled or
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd miscapitalized. This module addresses this problem by trying to
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd find a matching document, even after all other modules gave up.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd It does its work by comparing each document name in the
e23d878014f00a27b043a25e59f809c7af497e5ctakashi requested directory against the requested document name
e23d878014f00a27b043a25e59f809c7af497e5ctakashi <strong>without regard to case</strong>, and allowing
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <strong>up to one misspelling</strong> (character insertion /
a8703cfb67133446eef7af1043640e71486e9ecand omission / transposition or wrong character). A list is built
a8703cfb67133446eef7af1043640e71486e9ecand with all document names which were matched using this
a8703cfb67133446eef7af1043640e71486e9ecand strategy.</p>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <li>no matching document was found, Apache will proceed as
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd usual and return a "document not found" error.</li>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <li>only one document is found that "almost" matches the
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd request, then it is returned in the form of a redirection
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd response.</li>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <li>more than one document with a close match was found, then
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd the list of the matches is returned to the client, and the
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd client can select the correct candidate.</li>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<directivesynopsis>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<description>Enables the spelling
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndmodule</description>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<contextlist>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd</contextlist>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<compatibility>CheckSpelling was available as a separately available
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndmodule for Apache 1.1, but was limited to miscapitalizations. As
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndof Apache 1.3, it is part of the Apache distribution. Prior to Apache
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd1.3.2, the <code>CheckSpelling</code> directive was only available in the
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd"server" and "virtual host" contexts.</compatibility>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <p>This directive enables or disables the spelling module. When
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd enabled, keep in mind that</p>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <li>the directory scan which is necessary for the spelling
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd correction will have an impact on the server's performance
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd when many spelling corrections have to be performed at the
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd same time.</li>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <li>the document trees should not contain sensitive files
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd which could be matched inadvertently by a spelling
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd "correction".</li>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <li>the module is unable to correct misspelled user names (as
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd in <code>http://my.host/~apahce/</code>), just file names or
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd directory names.</li>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <li>spelling corrections apply strictly to existing files, so
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd a request for the <code><Location /status></code> may
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd get incorrectly treated as the negotiated file
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <p>mod_speling should not be enabled in <a href="mod_dav.html">DAV</a>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd enabled directories, because it will try to "spell fix" newly created
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd resource names against existing filenames, e.g., when trying to upload
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd a new document <code>doc43.html</code> it might redirect to an existing
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd document <code>doc34.html</code>, which is not what was intended.
50039065d571fe01fd458a3f031c995a1fd53c22rbowen</directivesynopsis>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd</modulesynopsis>