1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_speling - Apache HTTP Server Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
21 <p class="apache">Apache HTTP Server Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Apache Module mod_speling</h1>
29 <p><span>Available Languages: </span><a href="../en/mod/mod_speling.html" title="English"> en </a> |
30 <a href="../fr/mod/mod_speling.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
31 <a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
32 <a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
34 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Attempts to correct mistaken URLs by ignoring
35 capitalization, or attempting to correct various minor
36 misspellings.</td></tr>
37 <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
38 <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>speling_module</td></tr>
39 <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_speling.c</td></tr></table>
43 <p>Requests to documents sometimes cannot be served by the core
44 apache server because the request was misspelled or
45 miscapitalized. This module addresses this problem by trying to
46 find a matching document, even after all other modules gave up.
47 It does its work by comparing each document name in the
48 requested directory against the requested document name
49 <strong>without regard to case</strong>, and allowing
50 <strong>up to one misspelling</strong> (character insertion /
51 omission / transposition or wrong character). A list is built
52 with all document names which were matched using this
53 strategy. <strong>Erroneous extension</strong> can also be fixed
56 <p>If, after scanning the directory,</p>
59 <li>no matching document was found, Apache will proceed as
60 usual and return an error (<code>404 - document not found</code>).</li>
62 <li>only one document is found that "almost" matches the
63 request, then it is returned in the form of a redirection
64 response (<code>301 - Moved Permanently</code>).</li>
66 <li>more than one document with a close match was found, then
67 the list of the matches is returned to the client, and the
68 client can select the correct candidate (<code>300 - Multiple
73 <div id="quickview"><h3 class="directives">Directives</h3>
75 <li><img alt="" src="../images/down.gif" /> <a href="#checkbasenamematch">CheckBasenameMatch</a></li>
76 <li><img alt="" src="../images/down.gif" /> <a href="#checkcaseonly">CheckCaseOnly</a></li>
77 <li><img alt="" src="../images/down.gif" /> <a href="#checkspelling">CheckSpelling</a></li>
79 <h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_speling">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_speling">Report a bug</a></li></ul><h3>See also</h3>
81 <li><a href="#comments_section">Comments</a></li></ul></div>
83 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
84 <div class="directive-section"><h2><a name="CheckBasenameMatch" id="CheckBasenameMatch">CheckBasenameMatch</a> <a name="checkbasenamematch" id="checkbasenamematch">Directive</a> <a title="Permanent link" href="#checkbasenamematch" class="permalink">¶</a></h2>
85 <table class="directive">
86 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Also match files with differing file name extensions.</td></tr>
87 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CheckBasenameMatch on|off</code></td></tr>
88 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CheckBasenameMatch On</code></td></tr>
89 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
90 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr>
91 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
92 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr>
94 <p>When set, this directive extends the action of the spelling correction
95 to the file name extension. For example a file <code>foo.gif</code> will
96 match a request for <code>foo</code> or <code>foo.jpg</code>. This can be
97 particulary useful in conjunction with
98 <a href="../content-negotiation.html">MultiViews</a>.</p>
101 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
102 <div class="directive-section"><h2><a name="CheckCaseOnly" id="CheckCaseOnly">CheckCaseOnly</a> <a name="checkcaseonly" id="checkcaseonly">Directive</a> <a title="Permanent link" href="#checkcaseonly" class="permalink">¶</a></h2>
103 <table class="directive">
104 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the action of the speling module to case corrections</td></tr>
105 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CheckCaseOnly on|off</code></td></tr>
106 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CheckCaseOnly Off</code></td></tr>
107 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
108 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr>
109 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
110 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr>
112 <p>When set, this directive limits the action of the spelling correction
113 to lower/upper case changes. Other potential corrections are not performed,
114 except when <code class="directive"><a href="#checkbasenamematch">CheckBasenameMatch</a></code> is also set.</p>
117 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
118 <div class="directive-section"><h2><a name="CheckSpelling" id="CheckSpelling">CheckSpelling</a> <a name="checkspelling" id="checkspelling">Directive</a> <a title="Permanent link" href="#checkspelling" class="permalink">¶</a></h2>
119 <table class="directive">
120 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables the spelling
122 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CheckSpelling on|off</code></td></tr>
123 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CheckSpelling Off</code></td></tr>
124 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
125 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr>
126 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
127 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr>
129 <p>This directive enables or disables the spelling module. When
130 enabled, keep in mind that</p>
133 <li>the directory scan which is necessary for the spelling
134 correction will have an impact on the server's performance
135 when many spelling corrections have to be performed at the
138 <li>the document trees should not contain sensitive files
139 which could be matched inadvertently by a spelling
142 <li>the module is unable to correct misspelled user names (as
143 in <code>http://my.host/~apahce/</code>), just file names or
144 directory names.</li>
146 <li>spelling corrections apply strictly to existing files, so
147 a request for the <code><Location /status></code> may
148 get incorrectly treated as the negotiated file
149 "<code>/stats.html</code>".</li>
153 <p><code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code> should not be enabled in <a href="mod_dav.html">DAV</a>
154 enabled directories, because it will try to "spell fix" newly created
155 resource names against existing filenames, e.g., when trying to upload
156 a new document <code>doc43.html</code> it might redirect to an existing
157 document <code>doc34.html</code>, which is not what was intended.
162 <div class="bottomlang">
163 <p><span>Available Languages: </span><a href="../en/mod/mod_speling.html" title="English"> en </a> |
164 <a href="../fr/mod/mod_speling.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
165 <a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
166 <a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
167 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
168 <script type="text/javascript"><!--//--><![CDATA[//><!--
169 var comments_shortname = 'httpd';
170 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_speling.html';
172 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
173 d.write('<div id="comments_thread"><\/div>');
174 var s = d.createElement('script');
175 s.type = 'text/javascript';
177 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
178 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
181 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
183 })(window, document);
184 //--><!]]></script></div><div id="footer">
185 <p class="apache">Copyright 2019 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
186 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
187 if (typeof(prettyPrint) !== 'undefined') {