]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_speling.html.en
Rebuild.
[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="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
31 <a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
32 </div>
33 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Attempts to correct mistaken URLs by ignoring
34 capitalization, or attempting to correct various minor
35 misspellings.</td></tr>
36 <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
37 <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>speling_module</td></tr>
38 <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_speling.c</td></tr></table>
39 <h3>Summary</h3>
40
41
42     <p>Requests to documents sometimes cannot be served by the core
43     apache server because the request was misspelled or
44     miscapitalized. This module addresses this problem by trying to
45     find a matching document, even after all other modules gave up.
46     It does its work by comparing each document name in the
47     requested directory against the requested document name
48     <strong>without regard to case</strong>, and allowing
49     <strong>up to one misspelling</strong> (character insertion /
50     omission / transposition or wrong character). A list is built
51     with all document names which were matched using this
52     strategy.</p>
53
54     <p>If, after scanning the directory,</p>
55
56     <ul>
57       <li>no matching document was found, Apache will proceed as
58       usual and return a "document not found" error.</li>
59
60       <li>only one document is found that "almost" matches the
61       request, then it is returned in the form of a redirection
62       response.</li>
63
64       <li>more than one document with a close match was found, then
65       the list of the matches is returned to the client, and the
66       client can select the correct candidate.</li>
67     </ul>
68
69 </div>
70 <div id="quickview"><h3 class="directives">Directives</h3>
71 <ul id="toc">
72 <li><img alt="" src="../images/down.gif" /> <a href="#checkbasenamematch">CheckBasenameMatch</a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#checkcaseonly">CheckCaseOnly</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#checkspelling">CheckSpelling</a></li>
75 </ul>
76 <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>
77 <ul class="seealso">
78 <li><a href="#comments_section">Comments</a></li></ul></div>
79
80 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
81 <div class="directive-section"><h2><a name="CheckBasenameMatch" id="CheckBasenameMatch">CheckBasenameMatch</a> <a name="checkbasenamematch" id="checkbasenamematch">Directive</a></h2>
82 <table class="directive">
83 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Also match files with differing file name extensions.</td></tr>
84 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CheckBasenameMatch on|off</code></td></tr>
85 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CheckBasenameMatch Off</code></td></tr>
86 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
87 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr>
88 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
89 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr>
90 </table>
91     <p>When set, this directive extends the action of the spelling correction
92     to the file name extension. For example a file <code>foo.gif</code> will
93     match a request for <code>foo</code> or <code>foo.jpg</code>. This can be
94     particulary useful in conjunction with
95     <a href="../content-negotiation.html">MultiViews</a>.</p>
96
97 </div>
98 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
99 <div class="directive-section"><h2><a name="CheckCaseOnly" id="CheckCaseOnly">CheckCaseOnly</a> <a name="checkcaseonly" id="checkcaseonly">Directive</a></h2>
100 <table class="directive">
101 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limits the action of the speling module to case corrections</td></tr>
102 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CheckCaseOnly on|off</code></td></tr>
103 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CheckCaseOnly Off</code></td></tr>
104 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
105 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr>
106 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
107 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr>
108 </table>
109     <p>When set, this directive limits the action of the spelling correction
110     to lower/upper case changes.  Other potential corrections are not performed,
111     except when <code class="directive">CheckBasenameMatch</code> is also set.</p>
112
113 </div>
114 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
115 <div class="directive-section"><h2><a name="CheckSpelling" id="CheckSpelling">CheckSpelling</a> <a name="checkspelling" id="checkspelling">Directive</a></h2>
116 <table class="directive">
117 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables the spelling
118 module</td></tr>
119 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CheckSpelling on|off</code></td></tr>
120 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CheckSpelling Off</code></td></tr>
121 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
122 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Options</td></tr>
123 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
124 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_speling</td></tr>
125 </table>
126     <p>This directive enables or disables the spelling module. When
127     enabled, keep in mind that</p>
128
129     <ul>
130       <li>the directory scan which is necessary for the spelling
131       correction will have an impact on the server's performance
132       when many spelling corrections have to be performed at the
133       same time.</li>
134
135       <li>the document trees should not contain sensitive files
136       which could be matched inadvertently by a spelling
137       "correction".</li>
138
139       <li>the module is unable to correct misspelled user names (as
140       in <code>http://my.host/~apahce/</code>), just file names or
141       directory names.</li>
142
143       <li>spelling corrections apply strictly to existing files, so
144       a request for the <code>&lt;Location /status&gt;</code> may
145       get incorrectly treated as the negotiated file
146       "<code>/stats.html</code>".</li>
147     </ul>
148
149     
150     <p>mod_speling should not be enabled in <a href="mod_dav.html">DAV</a>
151     enabled directories, because it will try to "spell fix" newly created
152     resource names against existing filenames, e.g., when trying to upload
153     a new document <code>doc43.html</code> it might redirect to an existing
154     document <code>doc34.html</code>, which is not what was intended.
155     </p>
156
157 </div>
158 </div>
159 <div class="bottomlang">
160 <p><span>Available Languages: </span><a href="../en/mod/mod_speling.html" title="English">&nbsp;en&nbsp;</a> |
161 <a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
162 <a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
163 </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>
164 <script type="text/javascript"><!--//--><![CDATA[//><!--
165 var comments_shortname = 'httpd';
166 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_speling.html';
167 (function(w, d) {
168     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
169         d.write('<div id="comments_thread"><\/div>');
170         var s = d.createElement('script');
171         s.type = 'text/javascript';
172         s.async = true;
173         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
174         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
175     }
176     else {
177         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
178     }
179 })(window, document);
180 //--><!]]></script></div><div id="footer">
181 <p class="apache">Copyright 2016 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>
182 <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[//><!--
183 if (typeof(prettyPrint) !== 'undefined') {
184     prettyPrint();
185 }
186 //--><!]]></script>
187 </body></html>