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