mod_speling.xml revision 2d6b1b850999da6428bebf3edc8c565bba07a96f
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<?xml version="1.0"?>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<!-- $LastChangedRevision$ -->
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<!--
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd Copyright 2002-2006 The Apache Software Foundation or its licensors, as
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd applicable.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd Licensed under the Apache License, Version 2.0 (the "License");
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd you may not use this file except in compliance with the License.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd You may obtain a copy of the License at
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd http://www.apache.org/licenses/LICENSE-2.0
27e52281f1522522b170cafc76b08b58aa70ccaand
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd Unless required by applicable law or agreed to in writing, software
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd distributed under the License is distributed on an "AS IS" BASIS,
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4b5981e276e93df97c34e4da05ca5cf8bbd937dand See the License for the specific language governing permissions and
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd limitations under the License.
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd-->
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
e23d878014f00a27b043a25e59f809c7af497e5ctakashi<modulesynopsis metafile="mod_speling.xml.meta">
e23d878014f00a27b043a25e59f809c7af497e5ctakashi
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<name>mod_speling</name>
a8703cfb67133446eef7af1043640e71486e9ecand<description>Attempts to correct mistaken URLs that
a8703cfb67133446eef7af1043640e71486e9ecandusers might have entered by ignoring capitalization and by
a8703cfb67133446eef7af1043640e71486e9ecandallowing up to one misspelling</description>
a8703cfb67133446eef7af1043640e71486e9ecand<status>Extension</status>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<sourcefile>mod_speling.c</sourcefile>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<identifier>speling_module</identifier>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<summary>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <p>Requests to documents sometimes cannot be served by the core
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd 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
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd requested directory against the requested document name
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <strong>without regard to case</strong>, and allowing
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <strong>up to one misspelling</strong> (character insertion /
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd omission / transposition or wrong character). A list is built
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd with all document names which were matched using this
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd strategy.</p>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <p>If, after scanning the directory,</p>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <ul>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <li>no matching document was found, Apache will proceed as
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd usual and return a "document not found" error.</li>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
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
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 </ul>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd</summary>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<directivesynopsis>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<name>CheckSpelling</name>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<description>Enables the spelling
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60ndmodule</description>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<syntax>CheckSpelling on|off</syntax>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<default>CheckSpelling Off</default>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<contextlist>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<context>server config</context>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<context>virtual host</context>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<context>directory</context>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<context>.htaccess</context>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd</contextlist>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<override>Options</override>
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
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd<usage>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <p>This directive enables or disables the spelling module. When
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd enabled, keep in mind that</p>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <ul>
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
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd <li>the document trees should not contain sensitive files
e23d878014f00a27b043a25e59f809c7af497e5ctakashi which could be matched inadvertently by a spelling
e23d878014f00a27b043a25e59f809c7af497e5ctakashi "correction".</li>
b05ab3ff5ab54aa22610b13d56eaba6ddfc3db60nd
6eed902e5b4d3e016e220bfbf8769a87c4cb242enoodl <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>
<li>spelling corrections apply strictly to existing files, so
a request for the <code>&lt;Location /status&gt;</code> may
get incorrectly treated as the negotiated file
"<code>/stats.html</code>".</li>
</ul>
<!-- XXX: is that really true?! -nd -->
<p>mod_speling should not be enabled in <a href="mod_dav.html">DAV</a>
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 <code>doc43.html</code> it might redirect to an existing
document <code>doc34.html</code>, which is not what was intended.
</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>CheckCaseOnly</name>
<description>Limits the action of the speling module to case corrections</description>
<syntax>CheckCaseOnly on|off</syntax>
<default>CheckCaseOnly Off</default>
<contextlist>
<context>server config</context>
<context>virtual host</context>
<context>directory</context>
<context>.htaccess</context>
</contextlist>
<override>Options</override>
<usage>
<p>When set, this directive limits the action of the spelling correction to lower/upper case changes.
Other potential corrections are not performed.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>CheckCaseOnly</name>
<description>Limits the action of the speling module to case corrections</description>
<syntax>CheckCaseOnly on|off</syntax>
<default>CheckCaseOnly Off</default>
<contextlist>
<context>server config</context>
<context>virtual host</context>
<context>directory</context>
<context>.htaccess</context>
</contextlist>
<override>Options</override>
<usage>
<p>When set, this directive limits the action of the spelling correction to lower/upper case changes.
Other potential corrections are not performed.</p>
</usage>
</directivesynopsis>
</modulesynopsis>