]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_speling.html.en
Fix alignment in a <highlight> block.
[apache] / docs / manual / mod / mod_speling.html.en
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" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
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">
15 </script>
16
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
18 <body>
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="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
24 <div id="path">
25 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Apache Module mod_speling</h1>
28 <div class="toplang">
29 <p><span>Available Languages: </span><a href="../en/mod/mod_speling.html" title="English">&nbsp;en&nbsp;</a> |
30 <a href="../fr/mod/mod_speling.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
31 <a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
32 <a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
33 </div>
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>
40 <h3>Summary</h3>
41
42
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
54     by this module.</p>
55
56     <p>If, after scanning the directory,</p>
57
58     <ul>
59       <li>no matching document was found, Apache will proceed as
60       usual and return an error (<code>404 - document not found</code>).</li>
61
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>
65
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
69       Choices</code>).</li>
70     </ul>
71
72 </div>
73 <div id="quickview"><h3 class="directives">Directives</h3>
74 <ul id="toc">
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>
78 </ul>
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__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_speling">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_speling">Report a bug</a></li></ul><h3>See also</h3>
80 <ul class="seealso">
81 <li><a href="#comments_section">Comments</a></li></ul></div>
82
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">&para;</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>
93 </table>
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>
99
100 </div>
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">&para;</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>
111 </table>
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>
115
116 </div>
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">&para;</a></h2>
119 <table class="directive">
120 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables the spelling
121 module</td></tr>
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>
128 </table>
129     <p>This directive enables or disables the spelling module. When
130     enabled, keep in mind that</p>
131
132     <ul>
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
136       same time.</li>
137
138       <li>the document trees should not contain sensitive files
139       which could be matched inadvertently by a spelling
140       "correction".</li>
141
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>
145
146       <li>spelling corrections apply strictly to existing files, so
147       a request for the <code>&lt;Location /status&gt;</code> may
148       get incorrectly treated as the negotiated file
149       "<code>/stats.html</code>".</li>
150     </ul>
151
152     
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.
158     </p>
159
160 </div>
161 </div>
162 <div class="bottomlang">
163 <p><span>Available Languages: </span><a href="../en/mod/mod_speling.html" title="English">&nbsp;en&nbsp;</a> |
164 <a href="../fr/mod/mod_speling.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
165 <a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
166 <a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</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&amp;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';
171 (function(w, d) {
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';
176         s.async = true;
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);
179     }
180     else {
181         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
182     }
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') {
188     prettyPrint();
189 }
190 //--><!]]></script>
191 </body></html>