]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_imagemap.html.en
Rebuilds Daniel's change to the order of directictives vs topics in
[apache] / docs / manual / mod / mod_imagemap.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         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>mod_imagemap - Apache HTTP Server Version 2.5</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <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" />
12 <script src="../style/scripts/prettify.min.js" type="text/javascript">
13 </script>
14
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
16 <body>
17 <div id="page-header">
18 <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>
19 <p class="apache">Apache HTTP Server Version 2.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
22 <div id="path">
23 <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>
24 <div id="page-content">
25 <div id="preamble"><h1>Apache Module mod_imagemap</h1>
26 <div class="toplang">
27 <p><span>Available Languages: </span><a href="../en/mod/mod_imagemap.html" title="English">&nbsp;en&nbsp;</a> |
28 <a href="../ko/mod/mod_imagemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
29 </div>
30 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Server-side imagemap processing</td></tr>
31 <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr>
32 <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>imagemap_module</td></tr>
33 <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_imagemap.c</td></tr></table>
34 <h3>Summary</h3>
35
36     <p>This module processes <code>.map</code> files, thereby
37     replacing the functionality of the <code>imagemap</code> CGI
38     program. Any directory or document type configured to use the
39     handler <code>imap-file</code> (using either
40     <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> or
41     <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>)
42     will be processed by this module.</p>
43
44     <p>The following directive will activate files ending with
45     <code>.map</code> as imagemap files:</p>
46
47     <pre class="prettyprint lang-config">AddHandler imap-file map</pre>
48
49
50     <p>Note that the following is still supported:</p>
51
52     <pre class="prettyprint lang-config">AddType application/x-httpd-imap map</pre>
53
54
55     <p>However, we are trying to phase out "magic MIME types" so we
56     are deprecating this method.</p>
57 </div>
58 <div id="quickview"><h3 class="directives">Directives</h3>
59 <ul id="toc">
60 <li><img alt="" src="../images/down.gif" /> <a href="#imapbase">ImapBase</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#imapdefault">ImapDefault</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#imapmenu">ImapMenu</a></li>
63 </ul>
64 <h3>Topics</h3>
65 <ul id="topics">
66 <li><img alt="" src="../images/down.gif" /> <a href="#features">New Features</a></li>
67 <li><img alt="" src="../images/down.gif" /> <a href="#imapfile">Imagemap File</a></li>
68 <li><img alt="" src="../images/down.gif" /> <a href="#example">Example Mapfile</a></li>
69 <li><img alt="" src="../images/down.gif" /> <a href="#referencing">Referencing your mapfile</a></li>
70 </ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
71 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
72 <div class="directive-section"><h2><a name="ImapBase" id="ImapBase">ImapBase</a> <a name="imapbase" id="imapbase">Directive</a></h2>
73 <table class="directive">
74 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default <code>base</code> for imagemap files</td></tr>
75 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ImapBase map|referer|<var>URL</var></code></td></tr>
76 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ImapBase http://servername/</code></td></tr>
77 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
78 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr>
79 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
80 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr>
81 </table>
82     <p>The <code class="directive">ImapBase</code> directive sets the default
83     <code>base</code> used in the imagemap files. Its value is
84     overridden by a <code>base</code> directive within the imagemap
85     file. If not present, the <code>base</code> defaults to
86     <code>http://<var>servername</var>/</code>.</p>
87
88 <h3>See also</h3>
89 <ul>
90 <li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li>
91 </ul>
92 </div>
93 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
94 <div class="directive-section"><h2><a name="ImapDefault" id="ImapDefault">ImapDefault</a> <a name="imapdefault" id="imapdefault">Directive</a></h2>
95 <table class="directive">
96 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Default action when an imagemap is called with coordinates
97 that are not explicitly mapped</td></tr>
98 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ImapDefault error|nocontent|map|referer|<var>URL</var></code></td></tr>
99 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ImapDefault nocontent</code></td></tr>
100 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
101 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Indexes</td></tr>
102 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
103 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr>
104 </table>
105     <p>The <code class="directive">ImapDefault</code> directive sets the default
106     <code>default</code> used in the imagemap files. Its value is
107     overridden by a <code>default</code> directive within the
108     imagemap file. If not present, the <code>default</code> action
109     is <code>nocontent</code>, which means that a <code>204 No
110     Content</code> is sent to the client. In this case, the client
111     should continue to display the original page.</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="ImapMenu" id="ImapMenu">ImapMenu</a> <a name="imapmenu" id="imapmenu">Directive</a></h2>
116 <table class="directive">
117 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action if no coordinates are given when calling
118 an imagemap</td></tr>
119 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ImapMenu none|formatted|semiformatted|unformatted</code></td></tr>
120 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ImapMenu formatted</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>Indexes</td></tr>
123 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
124 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_imagemap</td></tr>
125 </table>
126     <p>The <code class="directive">ImapMenu</code> directive determines the
127     action taken if an imagemap file is called without valid
128     coordinates.</p>
129
130     <dl>
131       <dt><code>none</code></dt>
132       <dd>If ImapMenu is <code>none</code>, no menu is generated,
133       and the <code>default</code> action is performed.</dd>
134
135       <dt><code>formatted</code></dt>
136       <dd>A <code>formatted</code> menu is the simplest menu.
137       Comments in the imagemap file are ignored. A level one header
138       is printed, then an hrule, then the links each on a separate
139       line. The menu has a consistent, plain look close to that of
140       a directory listing.</dd>
141
142       <dt><code>semiformatted</code></dt>
143       <dd>In the <code>semiformatted</code> menu, comments are
144       printed where they occur in the imagemap file. Blank lines
145       are turned into HTML breaks. No header or hrule is printed,
146       but otherwise the menu is the same as a
147       <code>formatted</code> menu.</dd>
148
149       <dt><code>unformatted</code></dt>
150       <dd>Comments are printed, blank lines are ignored. Nothing is
151       printed that does not appear in the imagemap file. All breaks
152       and headers must be included as comments in the imagemap
153       file. This gives you the most flexibility over the appearance
154       of your menus, but requires you to treat your map files as
155       HTML instead of plaintext.</dd>
156     </dl>
157
158 </div>
159 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
160 <div class="section">
161 <h2><a name="features" id="features">New Features</a></h2>
162
163     <p>The imagemap module adds some new features that were not
164     possible with previously distributed imagemap programs.</p>
165
166     <ul>
167       <li>URL references relative to the Referer: information.</li>
168
169       <li>Default <code>&lt;base&gt;</code> assignment through a new map
170       directive <code>base</code>.</li>
171
172       <li>No need for <code>imagemap.conf</code> file.</li>
173
174       <li>Point references.</li>
175
176       <li>Configurable generation of imagemap menus.</li>
177     </ul>
178 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
179 <div class="section">
180 <h2><a name="imapfile" id="imapfile">Imagemap File</a></h2>
181
182     <p>The lines in the imagemap files can have one of several
183     formats:</p>
184
185     <div class="example"><p><code>
186       directive value [<var>x</var>,<var>y</var> ...]<br />
187       directive value "<var>Menu text</var>" [<var>x</var>,<var>y</var>
188       ...]<br />
189       directive value <var>x</var>,<var>y</var> ... "<var>Menu text</var>"
190     </code></p></div>
191
192     <p>The directive is one of <code>base</code>,
193     <code>default</code>, <code>poly</code>, <code>circle</code>,
194     <code>rect</code>, or <code>point</code>. The value is an
195     absolute or relative URL, or one of the special values listed
196     below. The coordinates are <code><var>x</var>,<var>y</var></code>
197     pairs separated by whitespace. The quoted text is used as the text of
198     the link if a imagemap menu is generated. Lines beginning with '#' are
199     comments.</p>
200
201     <h3><a name="imapfile.directives" id="imapfile.directives">Imagemap File Directives</a></h3>
202       <p>There are six directives allowed in the imagemap file. The
203       directives can come in any order, but are processed in the
204       order they are found in the imagemap file.</p>
205
206       <dl>
207       <dt><code>base</code> Directive</dt>
208
209       <dd><p>Has the effect of <code>&lt;base href="<var>value</var>"&gt;
210       </code>. The non-absolute URLs of the map-file are taken relative
211       to this value. The <code>base</code> directive overrides
212       <code class="directive"><a href="#imapbase">ImapBase</a></code> as set in a
213       <code>.htaccess</code> file or in the server configuration files.
214       In the absence of an <code class="directive">ImapBase</code> configuration
215       directive, <code>base</code> defaults to
216       <code>http://server_name/</code>.</p>
217       <p><code>base_uri</code> is synonymous with <code>base</code>.
218       Note that a trailing slash on the URL is significant.</p></dd>
219
220       <dt><code>default</code> Directive</dt>
221
222       <dd>The action taken if the coordinates given do not fit any
223       of the <code>poly</code>, <code>circle</code> or
224       <code>rect</code> directives, and there are no
225       <code>point</code> directives. Defaults to <code>nocontent</code>
226       in the absence of an <code class="directive"><a href="#imapdefault">ImapDefault</a></code> configuration setting, causing a status
227       code of <code>204 No Content</code> to be returned. The client
228       should keep the same page displayed.</dd>
229
230       <dt><code>poly</code> Directive</dt>
231
232       <dd>Takes three to one-hundred points, and is obeyed if the
233       user selected coordinates fall within the polygon defined by
234       these points.</dd>
235
236       <dt><code>circle</code></dt>
237
238       <dd>Takes the center coordinates of a circle and a point on
239       the circle. Is obeyed if the user selected point is with the
240       circle.</dd>
241
242       <dt><code>rect</code> Directive</dt>
243
244       <dd>Takes the coordinates of two opposing corners of a
245       rectangle. Obeyed if the point selected is within this
246       rectangle.</dd>
247
248       <dt><code>point</code> Directive</dt>
249
250       <dd>Takes a single point. The point directive closest to the
251       user selected point is obeyed if no other directives are
252       satisfied. Note that <code>default</code> will not be
253       followed if a <code>point</code> directive is present and
254       valid coordinates are given.</dd>
255       </dl>
256     
257
258     <h3><a name="imapfile.values" id="imapfile.values">Values</a></h3>
259
260       <p>The values for each of the directives can be any of the
261       following:</p>
262
263       <dl>
264       <dt>a URL</dt>
265
266       <dd><p>The URL can be relative or absolute URL. Relative URLs
267       can contain '..' syntax and will be resolved relative to the
268       <code>base</code> value.</p>
269       <p><code>base</code> itself will not be resolved according to the
270       current value. A statement <code>base mailto:</code> will
271       work properly, though.</p></dd>
272
273       <dt><code>map</code></dt>
274
275       <dd>Equivalent to the URL of the imagemap file itself. No
276       coordinates are sent with this, so a menu will be generated
277       unless <code class="directive"><a href="#imapmenu">ImapMenu</a></code> is set to
278       <code>none</code>.</dd>
279
280       <dt><code>menu</code></dt>
281       <dd>Synonymous with <code>map</code>.</dd>
282
283       <dt><code>referer</code></dt>
284
285       <dd>Equivalent to the URL of the referring document. Defaults
286       to <code>http://servername/</code> if no <code>Referer:</code>
287       header was present.</dd>
288
289       <dt><code>nocontent</code></dt>
290
291       <dd>Sends a status code of <code>204 No Content</code>,
292       telling the client to keep the same page displayed. Valid for
293       all but <code>base</code>.</dd>
294
295       <dt><code>error</code></dt>
296
297       <dd>Fails with a <code>500 Server Error</code>. Valid for all
298       but <code>base</code>, but sort of silly for anything but
299       <code>default</code>.</dd>
300       </dl>
301     
302
303     <h3><a name="imapfile.coords" id="imapfile.coords">Coordinates</a></h3>
304
305       <dl>
306       <dt><code>0,0 200,200</code></dt>
307
308       <dd>A coordinate consists of an <var>x</var> and a <var>y</var>
309       value separated by a comma. The coordinates are separated
310       from each other by whitespace. To accommodate the way Lynx
311       handles imagemaps, should a user select the coordinate
312       <code>0,0</code>, it is as if no coordinate had been
313       selected.</dd>
314       </dl>
315
316     
317
318     <h3><a name="imapfile.quotedtext" id="imapfile.quotedtext">Quoted Text</a></h3>
319
320       <dl>
321       <dt><code>"<var>Menu Text</var>"</code></dt>
322
323       <dd><p>After the value or after the coordinates, the line
324       optionally may contain text within double quotes. This string
325       is used as the text for the link if a menu is
326       generated:</p>
327
328       <div class="example"><p><code>
329         &lt;a href="http://example.com/"&gt;<var>Menu text</var>&lt;/a&gt;
330       </code></p></div>
331
332       <p>If no quoted text is present, the name of the link will be
333       used as the text:</p>
334
335       <div class="example"><p><code>
336         &lt;a href="http://example.com/"&gt;http://example.com&lt;/a&gt;
337       </code></p></div>
338
339       <p>If you want to use double quotes within this text, you have to
340       write them as <code>&amp;quot;</code>.</p></dd>
341       </dl>
342
343     
344 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
345 <div class="section">
346 <h2><a name="example" id="example">Example Mapfile</a></h2>
347
348     <div class="example"><p><code>
349       #Comments are printed in a 'formatted' or 'semiformatted' menu.<br />
350       #And can contain html tags. &lt;hr&gt;<br />
351       base referer<br />
352       poly map "Could I have a menu, please?" 0,0 0,10 10,10 10,0<br />
353       rect .. 0,0 77,27 "the directory of the referer"<br />
354       circle http://www.inetnebr.example.com/lincoln/feedback/ 195,0 305,27<br />
355       rect another_file "in same directory as referer" 306,0 419,27<br />
356       point http://www.zyzzyva.example.com/ 100,100<br />
357       point http://www.tripod.example.com/ 200,200<br />
358       rect mailto:nate@tripod.example.com 100,150 200,0 "Bugs?"<br />
359     </code></p></div>
360
361 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
362 <div class="section">
363 <h2><a name="referencing" id="referencing">Referencing your mapfile</a></h2>
364
365     <div class="example"><h3>HTML example</h3><p><code>
366       &lt;a href="/maps/imagemap1.map"&gt;<br />
367       <span class="indent">
368         &lt;img ismap src="/images/imagemap1.gif"&gt;<br />
369       </span>
370       &lt;/a&gt;
371     </code></p></div>
372
373     <div class="example"><h3>XHTML example</h3><p><code>
374       &lt;a href="/maps/imagemap1.map"&gt;<br />
375       <span class="indent">
376         &lt;img ismap="ismap" src="/images/imagemap1.gif" /&gt;<br />
377       </span>
378       &lt;/a&gt;
379     </code></p></div>
380
381 </div>
382 </div>
383 <div class="bottomlang">
384 <p><span>Available Languages: </span><a href="../en/mod/mod_imagemap.html" title="English">&nbsp;en&nbsp;</a> |
385 <a href="../ko/mod/mod_imagemap.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
386 </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>
387 <script type="text/javascript"><!--//--><![CDATA[//><!--
388 var comments_shortname = 'httpd';
389 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_imagemap.html';
390 (function(w, d) {
391     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
392         d.write('<div id="comments_thread"><\/div>');
393         var s = d.createElement('script');
394         s.type = 'text/javascript';
395         s.async = true;
396         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
397         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
398     }
399     else {
400         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
401     }
402 })(window, document);
403 //--><!]]></script></div><div id="footer">
404 <p class="apache">Copyright 2015 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>
405 <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[//><!--
406 if (typeof(prettyPrint) !== 'undefined') {
407     prettyPrint();
408 }
409 //--><!]]></script>
410 </body></html>