mod_speling.xml revision 5f5d1b4cc970b7f06ff8ef6526128e9a27303d88
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<?xml version="1.0"?>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<!-- $LastChangedRevision$ -->
63e3aa360c89c0f8fd92eea39c5c5c1f85f5b07eslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<!--
6da407b2e43a613ec833f14d8c05d4494a27f17aslive Copyright 2002-2004 The Apache Software Foundation
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive Licensed under the Apache License, Version 2.0 (the "License");
6da407b2e43a613ec833f14d8c05d4494a27f17aslive you may not use this file except in compliance with the License.
6da407b2e43a613ec833f14d8c05d4494a27f17aslive You may obtain a copy of the License at
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive http://www.apache.org/licenses/LICENSE-2.0
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive Unless required by applicable law or agreed to in writing, software
6da407b2e43a613ec833f14d8c05d4494a27f17aslive distributed under the License is distributed on an "AS IS" BASIS,
6da407b2e43a613ec833f14d8c05d4494a27f17aslive WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6da407b2e43a613ec833f14d8c05d4494a27f17aslive See the License for the specific language governing permissions and
6da407b2e43a613ec833f14d8c05d4494a27f17aslive limitations under the License.
6da407b2e43a613ec833f14d8c05d4494a27f17aslive-->
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<modulesynopsis metafile="mod_speling.xml.meta">
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<name>mod_speling</name>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<description>Attempts to correct mistaken URLs that
6da407b2e43a613ec833f14d8c05d4494a27f17asliveusers might have entered by ignoring capitalization and by
6da407b2e43a613ec833f14d8c05d4494a27f17asliveallowing up to one misspelling</description>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<status>Extension</status>
f629fd8f821ed20d16d76733bc19bf5480986220slive<sourcefile>mod_speling.c</sourcefile>
f629fd8f821ed20d16d76733bc19bf5480986220slive<identifier>speling_module</identifier>
f629fd8f821ed20d16d76733bc19bf5480986220slive
f629fd8f821ed20d16d76733bc19bf5480986220slive
f629fd8f821ed20d16d76733bc19bf5480986220slive
f629fd8f821ed20d16d76733bc19bf5480986220slive<summary>
f629fd8f821ed20d16d76733bc19bf5480986220slive
f629fd8f821ed20d16d76733bc19bf5480986220slive <p>Requests to documents sometimes cannot be served by the core
f629fd8f821ed20d16d76733bc19bf5480986220slive apache server because the request was misspelled or
6da407b2e43a613ec833f14d8c05d4494a27f17aslive miscapitalized. This module addresses this problem by trying to
6da407b2e43a613ec833f14d8c05d4494a27f17aslive find a matching document, even after all other modules gave up.
6da407b2e43a613ec833f14d8c05d4494a27f17aslive It does its work by comparing each document name in the
6da407b2e43a613ec833f14d8c05d4494a27f17aslive requested directory against the requested document name
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <strong>without regard to case</strong>, and allowing
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <strong>up to one misspelling</strong> (character insertion /
6da407b2e43a613ec833f14d8c05d4494a27f17aslive omission / transposition or wrong character). A list is built
6da407b2e43a613ec833f14d8c05d4494a27f17aslive with all document names which were matched using this
6da407b2e43a613ec833f14d8c05d4494a27f17aslive strategy.</p>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <p>If, after scanning the directory,</p>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <ul>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <li>no matching document was found, Apache will proceed as
6da407b2e43a613ec833f14d8c05d4494a27f17aslive usual and return a "document not found" error.</li>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <li>only one document is found that "almost" matches the
6da407b2e43a613ec833f14d8c05d4494a27f17aslive request, then it is returned in the form of a redirection
f629fd8f821ed20d16d76733bc19bf5480986220slive response.</li>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <li>more than one document with a close match was found, then
6da407b2e43a613ec833f14d8c05d4494a27f17aslive the list of the matches is returned to the client, and the
6da407b2e43a613ec833f14d8c05d4494a27f17aslive client can select the correct candidate.</li>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive </ul>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive</summary>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<directivesynopsis>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<name>CheckSpelling</name>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<description>Enables the spelling
6da407b2e43a613ec833f14d8c05d4494a27f17aslivemodule</description>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<syntax>CheckSpelling on|off</syntax>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<default>CheckSpelling Off</default>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<contextlist>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<context>server config</context>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<context>virtual host</context>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<context>directory</context>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<context>.htaccess</context>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive</contextlist>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<override>Options</override>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<compatibility>CheckSpelling was available as a separately available
6da407b2e43a613ec833f14d8c05d4494a27f17aslivemodule for Apache 1.1, but was limited to miscapitalizations. As
6da407b2e43a613ec833f14d8c05d4494a27f17asliveof Apache 1.3, it is part of the Apache distribution. Prior to Apache
6da407b2e43a613ec833f14d8c05d4494a27f17aslive1.3.2, the <code>CheckSpelling</code> directive was only available in the
6da407b2e43a613ec833f14d8c05d4494a27f17aslive"server" and "virtual host" contexts.</compatibility>
199a8ee5984e3708982fab1ba6ebb0a5feaea90cnd
6da407b2e43a613ec833f14d8c05d4494a27f17aslive<usage>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <p>This directive enables or disables the spelling module. When
6da407b2e43a613ec833f14d8c05d4494a27f17aslive enabled, keep in mind that</p>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <ul>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <li>the directory scan which is necessary for the spelling
6da407b2e43a613ec833f14d8c05d4494a27f17aslive correction will have an impact on the server's performance
6da407b2e43a613ec833f14d8c05d4494a27f17aslive when many spelling corrections have to be performed at the
6da407b2e43a613ec833f14d8c05d4494a27f17aslive same time.</li>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <li>the document trees should not contain sensitive files
6da407b2e43a613ec833f14d8c05d4494a27f17aslive which could be matched inadvertently by a spelling
6da407b2e43a613ec833f14d8c05d4494a27f17aslive "correction".</li>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <li>the module is unable to correct misspelled user names (as
6da407b2e43a613ec833f14d8c05d4494a27f17aslive in <code>http://my.host/~apahce/</code>), just file names or
6da407b2e43a613ec833f14d8c05d4494a27f17aslive directory names.</li>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <li>spelling corrections apply strictly to existing files, so
6da407b2e43a613ec833f14d8c05d4494a27f17aslive a request for the <code>&lt;Location /status&gt;</code> may
6da407b2e43a613ec833f14d8c05d4494a27f17aslive get incorrectly treated as the negotiated file
6da407b2e43a613ec833f14d8c05d4494a27f17aslive "<code>/stats.html</code>".</li>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive </ul>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <!-- XXX: is that really true?! -nd -->
6da407b2e43a613ec833f14d8c05d4494a27f17aslive <p>mod_speling should not be enabled in <a href="mod_dav.html">DAV</a>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive enabled directories, because it will try to "spell fix" newly created
6da407b2e43a613ec833f14d8c05d4494a27f17aslive resource names against existing filenames, e.g., when trying to upload
6da407b2e43a613ec833f14d8c05d4494a27f17aslive a new document <code>doc43.html</code> it might redirect to an existing
6da407b2e43a613ec833f14d8c05d4494a27f17aslive document <code>doc34.html</code>, which is not what was intended.
6da407b2e43a613ec833f14d8c05d4494a27f17aslive </p>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive</usage>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive</directivesynopsis>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive
6da407b2e43a613ec833f14d8c05d4494a27f17aslive</modulesynopsis>
6da407b2e43a613ec833f14d8c05d4494a27f17aslive