| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> |
| <!-- $LastChangedRevision$ --> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <modulesynopsis metafile="mod_autoindex.xml.meta"> |
| <name>mod_autoindex</name> |
| |
| <description>Generates directory indexes, |
| automatically, similar to the Unix <code>ls</code> command or the |
| Win32 <code>dir</code> shell command</description> |
| <status>Base</status> |
| <sourcefile>mod_autoindex.c</sourcefile> |
| <identifier>autoindex_module</identifier> |
| |
| <summary> |
| <p>The index of a directory can come from one of two |
| sources:</p> |
| |
| <ul> |
| <li>A file located in that directory, typically called |
| <code>index.html</code>. The <directive |
| module="mod_dir">DirectoryIndex</directive> directive sets the |
| name of the file or files to be used. This is controlled by |
| <module>mod_dir</module>.</li> |
| |
| <li>Otherwise, a listing generated by the server. The other |
| directives control the format of this listing. The <directive |
| module="mod_autoindex">AddIcon</directive>, <directive |
| module="mod_autoindex">AddIconByEncoding</directive> and |
| <directive module="mod_autoindex">AddIconByType</directive> are |
| used to set a list of icons to display for various file types; |
| for each file listed, the first icon listed that matches the |
| file is displayed. These are controlled by |
| <module>mod_autoindex</module>.</li> |
| </ul> |
| <p>The two functions are separated so that you can completely |
| remove (or replace) automatic index generation should you want |
| to.</p> |
| |
| <p>Automatic index generation is enabled with using |
| <code>Options +Indexes</code>. See the |
| <directive module="core">Options</directive> directive for |
| more details.</p> |
| |
| <p>If the <code><a href="#indexoptions.fancyindexing" |
| >FancyIndexing</a></code> option is given with the <directive |
| module="mod_autoindex">IndexOptions</directive> directive, |
| the column headers are links that control the order of the |
| display. If you select a header link, the listing will be |
| regenerated, sorted by the values in that column. Selecting the |
| same header repeatedly toggles between ascending and descending |
| order. These column header links are suppressed with the |
| <directive module="mod_autoindex">IndexOptions</directive> directive's |
| <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> |
| option.</p> |
| |
| <p>Note that when the display is sorted by "Size", it's the |
| <em>actual</em> size of the files that's used, not the |
| displayed value - so a 1010-byte file will always be displayed |
| before a 1011-byte file (if in ascending order) even though |
| they both are shown as "1K".</p> |
| </summary> |
| |
| <section id="query"> |
| <title>Autoindex Request Query Arguments</title> |
| |
| <p>Various query string arguments are available to give the client |
| some control over the ordering of the directory listing, as well as |
| what files are listed. If you do not wish to give the client this |
| control, the <code><a href="#indexoptions.ignoreclient">IndexOptions |
| IgnoreClient</a></code> option disables that functionality.</p> |
| |
| <p>The column sorting headers themselves are self-referencing |
| hyperlinks that add the sort query options shown below. Any |
| option below may be added to any request for the directory |
| resource.</p> |
| |
| <ul> |
| <li><code>C=N</code> sorts the directory by file name</li> |
| |
| <li><code>C=M</code> sorts the directory by last-modified |
| date, then file name</li> |
| |
| <li><code>C=S</code> sorts the directory by size, then file |
| name</li> |
| |
| <li class="separate"><code>C=D</code> sorts the directory by description, then |
| file name</li> |
| |
| <li><code>O=A</code> sorts the listing in Ascending |
| Order</li> |
| |
| <li class="separate"><code>O=D</code> sorts the listing in Descending |
| Order</li> |
| |
| <li><code>F=0</code> formats the listing as a simple list |
| (not FancyIndexed)</li> |
| |
| <li><code>F=1</code> formats the listing as a FancyIndexed |
| list</li> |
| |
| <li class="separate"><code>F=2</code> formats the listing as an |
| HTMLTable FancyIndexed list</li> |
| |
| <li><code>V=0</code> disables version sorting</li> |
| |
| <li class="separate"><code>V=1</code> enables version sorting</li> |
| |
| <li><code>P=<var>pattern</var></code> lists only files matching |
| the given <var>pattern</var></li> |
| </ul> |
| |
| <p>Note that the 'P'attern query argument is tested |
| <em>after</em> the usual <directive module="mod_autoindex" |
| >IndexIgnore</directive> directives are processed, |
| and all file names are still subjected to the same criteria as |
| any other autoindex listing. The Query Arguments parser in |
| <module>mod_autoindex</module> will stop abruptly when an unrecognized |
| option is encountered. The Query Arguments must be well formed, |
| according to the table above.</p> |
| |
| <p>The simple example below, which can be clipped and saved in |
| a header.html file, illustrates these query options. Note that |
| the unknown "X" argument, for the submit button, is listed last |
| to assure the arguments are all parsed before mod_autoindex |
| encounters the X=Go input.</p> |
| |
| <example> |
| <form action="" method="get"><br /> |
| <indent> |
| Show me a <select name="F"><br /> |
| <indent> |
| <option value="0"> Plain list</option><br /> |
| <option value="1" selected="selected"> Fancy list</option><br /> |
| <option value="2"> Table list</option><br /> |
| </indent> |
| </select><br /> |
| Sorted by <select name="C"><br /> |
| <indent> |
| <option value="N" selected="selected"> Name</option><br /> |
| <option value="M"> Date Modified</option><br /> |
| <option value="S"> Size</option><br /> |
| <option value="D"> Description</option><br /> |
| </indent> |
| </select><br /> |
| <select name="O"><br /> |
| <indent> |
| <option value="A" selected="selected"> Ascending</option><br /> |
| <option value="D"> Descending</option><br /> |
| </indent> |
| </select><br /> |
| <select name="V"><br /> |
| <indent> |
| <option value="0" selected="selected"> in Normal order</option><br /> |
| <option value="1"> in Version order</option><br /> |
| </indent> |
| </select><br /> |
| Matching <input type="text" name="P" value="*" /><br /> |
| <input type="submit" name="X" value="Go" /><br /> |
| </indent> |
| </form> |
| </example> |
| |
| </section> |
| |
| <directivesynopsis> |
| <name>AddAlt</name> |
| <description>Alternate text to display for a file, instead of an |
| icon selected by filename</description> |
| <syntax>AddAlt <var>string</var> <var>file</var> [<var>file</var>] ...</syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p><directive>AddAlt</directive> provides the alternate text to |
| display for a file, instead of an icon, for <code><a |
| href="#indexoptions.fancyindexing">FancyIndexing</a></code>. |
| <var>File</var> is a file extension, partial filename, wild-card |
| expression or full filename for files to describe. |
| If <var>String</var> contains any whitespace, you have to enclose it |
| in quotes (<code>"</code> or <code>'</code>). This alternate text |
| is displayed if the client is image-incapable, has image loading |
| disabled, or fails to retrieve the icon.</p> |
| |
| <highlight language="config"> |
| AddAlt "PDF file" *.pdf |
| AddAlt Compressed *.gz *.zip *.Z |
| </highlight> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>AddAltByEncoding</name> |
| <description>Alternate text to display for a file instead of an icon |
| selected by MIME-encoding</description> |
| <syntax>AddAltByEncoding <var>string</var> <var>MIME-encoding</var> |
| [<var>MIME-encoding</var>] ...</syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p><directive>AddAltByEncoding</directive> provides the alternate |
| text to display for a file, instead of an icon, for <code><a |
| href="#indexoptions.fancyindexing">FancyIndexing</a></code>. |
| <var>MIME-encoding</var> is a valid content-encoding, such as |
| <code>x-compress</code>. If <var>String</var> contains any whitespace, |
| you have to enclose it in quotes (<code>"</code> or <code>'</code>). |
| This alternate text is displayed if the client is image-incapable, |
| has image loading disabled, or fails to retrieve the icon.</p> |
| |
| <highlight language="config"> |
| AddAltByEncoding gzip x-gzip |
| </highlight> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>AddAltByType</name> |
| <description>Alternate text to display for a file, instead of an |
| icon selected by MIME content-type</description> |
| <syntax>AddAltByType <var>string</var> <var>MIME-type</var> |
| [<var>MIME-type</var>] ...</syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p><directive>AddAltByType</directive> sets the alternate text to |
| display for a file, instead of an icon, for <code><a |
| href="#indexoptions.fancyindexing">FancyIndexing</a></code>. |
| <var>MIME-type</var> is a valid content-type, such as |
| <code>text/html</code>. If <var>String</var> contains any whitespace, |
| you have to enclose it in quotes (<code>"</code> or <code>'</code>). |
| This alternate text is displayed if the client is image-incapable, |
| has image loading disabled, or fails to retrieve the icon.</p> |
| |
| <highlight language="config"> |
| AddAltByType 'plain text' text/plain |
| </highlight> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>AddDescription</name> |
| <description>Description to display for a file</description> |
| <syntax>AddDescription <var>string file</var> [<var>file</var>] ...</syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>This sets the description to display for a file, for |
| <code><a href="#indexoptions.fancyindexing" |
| >FancyIndexing</a></code>. |
| <var>File</var> is a file extension, partial filename, wild-card |
| expression or full filename for files to describe. |
| <var>String</var> is enclosed in double quotes (<code>"</code>).</p> |
| |
| <highlight language="config"> |
| AddDescription "The planet Mars" mars.gif |
| AddDescription "My friend Marshall" friends/mars.gif |
| </highlight> |
| |
| <p>The typical, default description field is 23 bytes wide. 6 |
| more bytes are added by the <code><a href="#indexoptions.suppressicon" |
| >IndexOptions SuppressIcon</a></code> option, 7 bytes are |
| added by the <code><a href="#indexoptions.suppresssize" |
| >IndexOptions SuppressSize</a></code> option, and 19 bytes are |
| added by the <code><a href="#indexoptions.suppresslastmodified" |
| >IndexOptions SuppressLastModified</a></code> option. |
| Therefore, the widest default the description column is ever |
| assigned is 55 bytes.</p> |
| |
| <p>Since the <var>File</var> argument may be a partial file name, |
| please remember that a too-short partial filename may match |
| unintended files. For example, <code>le.html</code> will match the |
| file <code>le.html</code> but will also match the file |
| <code>example.html</code>. In the event that there may be ambiguity, |
| use as complete a filename as you can, but keep in mind that the |
| first match encountered will be used, and order your list of |
| <code>AddDescription</code> directives accordingly.</p> |
| |
| <p>See the <a href="#indexoptions.descriptionwidth" |
| >DescriptionWidth</a> <directive module="mod_autoindex" |
| >IndexOptions</directive> keyword for details on overriding the size |
| of this column, or allowing descriptions of unlimited length.</p> |
| |
| <note><title>Caution</title> |
| <p>Descriptive text defined with <directive>AddDescription</directive> |
| may contain HTML markup, such as tags and character entities. If the |
| width of the description column should happen to truncate a tagged |
| element (such as cutting off the end of a bolded phrase), the |
| results may affect the rest of the directory listing.</p> |
| </note> |
| |
| <note><title>Arguments with path information</title> |
| <p>Absolute paths are not currently supported and do not match |
| anything at runtime. Arguments with relative path information, |
| which would normally only be used in htaccess context, are implicitly |
| prefixed with '*/' to avoid matching partial directory names.</p> |
| </note> |
| |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>AddIcon</name> |
| <description>Icon to display for a file selected by name</description> |
| <syntax>AddIcon <var>icon</var> <var>name</var> [<var>name</var>] |
| ...</syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>This sets the icon to display next to a file ending in |
| <var>name</var> for <code><a href="#indexoptions.fancyindexing" |
| >FancyIndexing</a></code>. <var>Icon</var> is either a (%-escaped) |
| relative URL to the icon, a fully qualified remote URL, or of the format <code> |
| (<var>alttext</var>,<var>url</var>)</code> where <var>alttext</var> |
| is the text tag given for an icon for non-graphical browsers.</p> |
| |
| <p><var>Name</var> is either <code>^^DIRECTORY^^</code> for directories, |
| <code>^^BLANKICON^^</code> for blank lines (to format the list |
| correctly), a file extension, a wildcard expression, a partial |
| filename or a complete filename.</p> |
| |
| <p><code>^^BLANKICON^^</code> is only used for formatting, and so |
| is unnecessary if you're using <code>IndexOptions |
| HTMLTable</code>.</p> |
| |
| <highlight language="config"> |
| #Examples |
| AddIcon (IMG,/icons/image.png) .gif .jpg .png |
| AddIcon /icons/dir.png ^^DIRECTORY^^ |
| AddIcon /icons/backup.png *~ |
| </highlight> |
| |
| <p><directive module="mod_autoindex">AddIconByType</directive> |
| should be used in preference to <directive>AddIcon</directive>, |
| when possible.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>AddIconByEncoding</name> |
| <description>Icon to display next to files selected by MIME |
| content-encoding</description> |
| <syntax>AddIconByEncoding <var>icon</var> <var>MIME-encoding</var> |
| [<var>MIME-encoding</var>] ...</syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>This sets the icon to display next to files with <code><a |
| href="#indexoptions.fancyindexing">FancyIndexing</a></code>. |
| <var>Icon</var> is either a (%-escaped) relative URL to the icon, |
| a fully qualified remote URL, |
| or of the format <code>(<var>alttext</var>,<var>url</var>)</code> |
| where <var>alttext</var> is the text tag given for an icon for |
| non-graphical browsers.</p> |
| |
| <p><var>MIME-encoding</var> is a valid content-encoding, such as |
| <code>x-compress</code>.</p> |
| |
| <highlight language="config"> |
| AddIconByEncoding /icons/compress.png x-compress |
| </highlight> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>AddIconByType</name> |
| <description>Icon to display next to files selected by MIME |
| content-type</description> |
| <syntax>AddIconByType <var>icon</var> <var>MIME-type</var> |
| [<var>MIME-type</var>] ...</syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>This sets the icon to display next to files of type |
| <var>MIME-type</var> for <code><a |
| href="#indexoptions.fancyindexing">FancyIndexing</a></code>. |
| <var>Icon</var> is either a (%-escaped) relative URL to the icon, |
| a fully qualified remote URL, |
| or of the format <code>(<var>alttext</var>,<var>url</var>)</code> |
| where <var>alttext</var> is the text tag given for an icon for |
| non-graphical browsers.</p> |
| |
| <p><var>MIME-type</var> is a wildcard expression matching |
| required the mime types.</p> |
| |
| <highlight language="config"> |
| AddIconByType (IMG,/icons/image.png) image/* |
| </highlight> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>DefaultIcon</name> |
| <description>Icon to display for files when no specific icon is |
| configured</description> |
| <syntax>DefaultIcon <var>url-path</var></syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>The <directive>DefaultIcon</directive> directive sets the icon |
| to display for files when no specific icon is known, for <code><a |
| href="#indexoptions.fancyindexing">FancyIndexing</a></code>. |
| <var>Url-path</var> is a (%-escaped) relative URL to the icon, |
| or a fully qualified remote URL.</p> |
| |
| <highlight language="config"> |
| DefaultIcon /icon/unknown.png |
| </highlight> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>HeaderName</name> |
| <description>Name of the file that will be inserted at the top |
| of the index listing</description> |
| <syntax>HeaderName <var>filename</var></syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>The <directive>HeaderName</directive> directive sets the name |
| of the file that will be inserted at the top of the index |
| listing. <var>Filename</var> is the name of the file to include.</p> |
| |
| <highlight language="config"> |
| HeaderName HEADER.html |
| </highlight> |
| |
| <note> |
| <p>Both HeaderName and <directive |
| module="mod_autoindex">ReadmeName</directive> now treat |
| <var>Filename</var> as a URI path relative to the one used to |
| access the directory being indexed. If <var>Filename</var> begins |
| with a slash, it will be taken to be relative to the <directive |
| module="core">DocumentRoot</directive>.</p> |
| |
| <highlight language="config"> |
| HeaderName /include/HEADER.html |
| </highlight> |
| |
| <p><var>Filename</var> must resolve to a document with a major |
| content type of <code>text/*</code> (<em>e.g.</em>, |
| <code>text/html</code>, <code>text/plain</code>, etc.). This means |
| that <var>filename</var> may refer to a CGI script if the script's |
| actual file type (as opposed to its output) is marked as |
| <code>text/html</code> such as with a directive like:</p> |
| |
| <highlight language="config"> |
| AddType text/html .cgi |
| </highlight> |
| |
| <p><a href="../content-negotiation.html">Content negotiation</a> |
| will be performed if <directive module="core">Options</directive> |
| <code>MultiViews</code> is in effect. If <var>filename</var> resolves |
| to a static <code>text/html</code> document (not a CGI script) and |
| either one of the <directive module="core">options</directive> |
| <code>Includes</code> or <code>IncludesNOEXEC</code> is enabled, |
| the file will be processed for server-side includes (see the |
| <module>mod_include</module> documentation).</p> |
| </note> |
| |
| <p>If the file specified by <directive>HeaderName</directive> contains |
| the beginnings of an HTML document (<html>, <head>, etc.) |
| then you will probably want to set <a |
| href="#indexoptions.suppresshtmlpreamble"><code>IndexOptions |
| +SuppressHTMLPreamble</code></a>, so that these tags are not |
| repeated.</p> |
| </usage> |
| |
| <seealso><directive module="mod_autoindex">ReadmeName</directive></seealso> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>IndexIgnore</name> |
| <description>Adds to the list of files to hide when listing |
| a directory</description> |
| <syntax>IndexIgnore <var>file</var> [<var>file</var>] ...</syntax> |
| <default>IndexIgnore "."</default> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>The <directive>IndexIgnore</directive> directive adds to the |
| list of files to hide when listing a directory. <var>File</var> is a |
| shell-style wildcard expression or full |
| filename. Multiple IndexIgnore directives add |
| to the list, rather than replacing the list of ignored |
| files. By default, the list contains <code>.</code> (the current |
| directory).</p> |
| |
| <highlight language="config"> |
| IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t |
| </highlight> |
| |
| <note><title>Regular Expressions</title> |
| <p>This directive does not currently work in configuration sections |
| that have regular expression arguments, such as <directive |
| module="core" type="section">DirectoryMatch</directive> |
| </p> |
| </note> |
| </usage> |
| |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>IndexIgnoreReset</name> |
| <description>Empties the list of files to hide when listing |
| a directory</description> |
| <syntax>IndexIgnoreReset ON|OFF</syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| <compatibility>2.3.10 and later</compatibility> |
| |
| <usage> |
| <p>The <directive>IndexIgnoreReset</directive> directive removes |
| any files ignored by <directive>IndexIgnore</directive> otherwise |
| inherited from other configuration sections. </p> |
| |
| <highlight language="config"> |
| <Directory "/var/www"> |
| IndexIgnore *.bak .??* *~ *# HEADER* README* RCS CVS *,v *,t |
| </Directory> |
| <Directory "/var/www/backups"> |
| IndexIgnoreReset ON |
| IndexIgnore .??* *# HEADER* README* RCS CVS *,v *,t |
| </Directory> |
| </highlight> |
| |
| <note type="warning"><p> Review the default configuration for a list of |
| patterns that you might want to explicitly ignore after using this |
| directive.</p></note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>IndexOptions</name> |
| <description>Various configuration settings for directory |
| indexing</description> |
| <syntax>IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>] |
| ...</syntax> |
| <default>By default, no options are enabled.</default> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>The <directive>IndexOptions</directive> directive specifies the |
| behavior of the directory indexing. <var>Option</var> can be one |
| of</p> |
| |
| <dl> |
| <dt><a name="indexoptions.addaltclass" |
| id="indexoptions.addaltclass">AddAltClass</a></dt> |
| <dd>Adds an additional CSS class declaration to each row of the |
| directory listing table when <code>IndexOptions HTMLTable</code> |
| is in effect and an <code>IndexStyleSheet</code> is defined. |
| Rather than the standard <code>even</code> and <code>odd</code> |
| classes that would otherwise be applied to each row of the table, |
| a class of <code>even-<em>ALT</em></code> or |
| <code>odd-<em>ALT</em></code> where <em>ALT</em> is either the |
| standard alt text associated with the file style (eg. <em>snd</em>, |
| <em>txt</em>, <em>img</em>, etc) or the alt text defined by one of |
| the various <code>AddAlt*</code> directives. |
| </dd> |
| |
| <dt><a name="indexoptions.charset" |
| id="indexoptions.charset" |
| >Charset=<var>character-set</var></a> (<em>Apache HTTP Server 2.0.61 and |
| later</em>)</dt> |
| |
| <dd>The <code>Charset</code> keyword allows you to |
| specify the character set of the generated page. The |
| default is <code>UTF-8</code> on Windows and Mac OS X, |
| and <code>ISO-8859-1</code> elsewhere. |
| (It depends on whether the underlying file system |
| uses Unicode filenames or not.) |
| |
| <highlight language="config"> |
| IndexOptions Charset=UTF-8 |
| </highlight> |
| </dd> |
| |
| <dt><a name="indexoptions.descriptionwidth" |
| id="indexoptions.descriptionwidth" |
| >DescriptionWidth=[<var>n</var> | *]</a></dt> |
| |
| <dd>The <code>DescriptionWidth</code> keyword allows you to |
| specify the width of the description column in |
| characters.</dd> |
| |
| <dt><code>-DescriptionWidth</code> (or unset) allows |
| <module>mod_autoindex</module> to calculate the best width.</dt> |
| |
| <dd><code>DescriptionWidth=<var>n</var></code> fixes the column width to |
| <var>n</var> bytes wide.</dd> |
| |
| <dd><code>DescriptionWidth=*</code> grows the column to the |
| width necessary to accommodate the longest description |
| string. |
| |
| <strong>See the section on <directive |
| module="mod_autoindex">AddDescription</directive> for dangers |
| inherent in truncating descriptions.</strong></dd> |
| |
| <dt><a name="indexoptions.fancyindexing" |
| id="indexoptions.fancyindexing">FancyIndexing</a></dt> |
| |
| <dd>This turns on fancy indexing of directories.</dd> |
| |
| <dt><a name="indexoptions.foldersfirst" |
| id="indexoptions.foldersfirst">FoldersFirst</a></dt> |
| |
| <dd>If this option is enabled, subdirectory listings will |
| <em>always</em> appear first, followed by normal files in the |
| directory. The listing is basically broken into two |
| components, the files and the subdirectories, and each is |
| sorted separately and then displayed subdirectories-first. |
| For instance, if the sort order is descending by name, and |
| <code>FoldersFirst</code> is enabled, subdirectory |
| <code>Zed</code> will be listed before subdirectory |
| <code>Beta</code>, which will be listed before normal files |
| <code>Gamma</code> and <code>Alpha</code>. |
| <strong>This option only has an effect if <a |
| href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a> |
| is also enabled.</strong> |
| </dd> |
| |
| <dt><a name="indexoptions.htmltable" |
| id="indexoptions.htmltable">HTMLTable</a></dt> |
| |
| <dd>This option with <code>FancyIndexing</code> constructs |
| a simple table for the fancy directory listing. |
| It is necessary for utf-8 enabled platforms or if file |
| names or description text will alternate between |
| left-to-right and right-to-left reading order.</dd> |
| |
| <dt><a name="indexoptions.iconsarelinks" |
| id="indexoptions.iconsarelinks">IconsAreLinks</a></dt> |
| |
| <dd>This makes the icons part of the anchor for the filename, for |
| fancy indexing.</dd> |
| |
| <dt><a name="indexoptions.iconheight" |
| id="indexoptions.iconheight">IconHeight[=<var |
| >pixels</var>]</a></dt> |
| |
| <dd>Presence of this option, when used with <code>IconWidth</code>, |
| will cause the server to include <code>height</code> and |
| <code>width</code> attributes in the <code>img</code> tag for the file |
| icon. This allows browser to precalculate the page layout without having |
| to wait until all the images have been loaded. If no value is given for |
| the option, it defaults to the standard height of the icons supplied |
| with the Apache httpd software. |
| |
| <strong>This option |
| only has an effect if <a href="#indexoptions.fancyindexing" |
| ><code>FancyIndexing</code></a> is also enabled.</strong> |
| |
| </dd> |
| |
| <dt><a name="indexoptions.iconwidth" |
| id="indexoptions.iconwidth">IconWidth[=<var |
| >pixels</var>]</a></dt> |
| |
| <dd>Presence of this option, when used with <code>IconHeight</code>, |
| will cause the server to include <code>height</code> and |
| <code>width</code> attributes in the <code>img</code> tag for |
| the file icon. This allows browser to precalculate the page |
| layout without having to wait until all the images have been |
| loaded. If no value is given for the option, it defaults to |
| the standard width of the icons supplied with the Apache httpd |
| software.</dd> |
| |
| <dt><a name="indexoptions.ignorecase" |
| id="indexoptions.ignorecase">IgnoreCase</a></dt> |
| |
| <dd>If this option is enabled, names are sorted in a case-insensitive |
| manner. For instance, if the sort order is ascending by name, and |
| <code>IgnoreCase</code> is enabled, file Zeta will be listed after |
| file alfa (Note: file GAMMA will always be listed before file gamma). |
| </dd> |
| |
| <dt><a name="indexoptions.ignoreclient" |
| id="indexoptions.ignoreclient">IgnoreClient</a></dt> |
| |
| <dd>This option causes <module>mod_autoindex</module> to ignore all |
| query variables from the client, including sort order (implies |
| <code><a href="#indexoptions.suppresscolumnsorting" |
| >SuppressColumnSorting</a></code>.)</dd> |
| |
| <dt><a name="indexoptions.namewidth" |
| id="indexoptions.namewidth">NameWidth=[<var>n</var> |
| | *]</a></dt> |
| |
| <dd>The <code>NameWidth</code> keyword allows you to specify the width |
| of the filename column in bytes.</dd> |
| |
| <dd><code>-NameWidth</code> (or unset) allows <module |
| >mod_autoindex</module> to calculate the best width, but only up |
| to 20 bytes wide.</dd> |
| |
| <dd><code>NameWidth=<var>n</var></code> fixes the column width to |
| <var>n</var> bytes wide.</dd> |
| |
| <dd><code>NameWidth=*</code> grows the column to the necessary |
| width.</dd> |
| |
| <dt><a name="indexoptions.scanhtmltitles" |
| id="indexoptions.scanhtmltitles">ScanHTMLTitles</a></dt> |
| |
| <dd>This enables the extraction of the title from HTML documents |
| for fancy indexing. If the file does not have a description |
| given by <directive module="mod_autoindex">AddDescription</directive> |
| then httpd will read the document for the value of the |
| <code>title</code> element. This is CPU and disk intensive.</dd> |
| |
| <dt><a name="indexoptions.showforbidden" |
| id="indexoptions.showforbidden">ShowForbidden</a></dt> |
| |
| <dd>If specified, Apache httpd will show files normally hidden because |
| the subrequest returned <code>HTTP_UNAUTHORIZED</code> or |
| <code>HTTP_FORBIDDEN</code></dd> |
| |
| <dt><a name="indexoptions.suppresscolumnsorting" |
| id="indexoptions.suppresscolumnsorting" |
| >SuppressColumnSorting</a></dt> |
| |
| <dd>If specified, Apache httpd will not make the column headings in a |
| FancyIndexed directory listing into links for sorting. The |
| default behavior is for them to be links; selecting the |
| column heading will sort the directory listing by the values |
| in that column. However, query string arguments which are appended |
| to the URL will still be honored. That behavior is controlled by <a |
| href="#indexoptions.ignoreclient"><code>IndexOptions |
| IgnoreClient</code></a>.</dd> |
| |
| <dt><a name="indexoptions.suppressdescription" |
| id="indexoptions.suppressdescription" |
| >SuppressDescription</a></dt> |
| |
| <dd>This will suppress the file description in fancy indexing |
| listings. By default, no file descriptions are defined, and |
| so the use of this option will regain 23 characters of screen |
| space to use for something else. See <directive module="mod_autoindex" |
| >AddDescription</directive> for information about setting the file |
| description. See also the <code><a |
| href="#indexoptions.descriptionwidth">DescriptionWidth</a></code> |
| index option to limit the size of the description column. |
| |
| <strong>This option |
| only has an effect if <a href="#indexoptions.fancyindexing" |
| ><code>FancyIndexing</code></a> is also enabled.</strong> |
| </dd> |
| |
| <dt><a name="indexoptions.suppresshtmlpreamble" |
| id="indexoptions.suppresshtmlpreamble" |
| >SuppressHTMLPreamble</a></dt> |
| |
| <dd>If the directory actually contains a file specified by the |
| <directive module="mod_autoindex">HeaderName</directive> |
| directive, the module usually includes the contents of the file |
| after a standard HTML preamble (<code><html></code>, |
| <code><head></code>, <em>et cetera</em>). The |
| <code>SuppressHTMLPreamble</code> option disables this behaviour, |
| causing the module to start the display with the header file |
| contents. The header file must contain appropriate HTML instructions |
| in this case. If there is no header file, the preamble is generated |
| as usual. If you also specify a <directive |
| module="mod_autoindex">ReadmeName</directive>, and if that file |
| exists, The closing </body></html> tags are also |
| ommitted from the output, under the assumption that you'll likely |
| put those closing tags in that file.</dd> |
| |
| <dt><a name="indexoptions.suppressicon" |
| id="indexoptions.suppressicon">SuppressIcon</a></dt> |
| |
| <dd>This will suppress the icon in fancy indexing listings. |
| Combining both <code>SuppressIcon</code> and |
| <code>SuppressRules</code> yields proper HTML 3.2 output, which |
| by the final specification prohibits <code>img</code> and |
| <code>hr</code> elements from the <code>pre</code> block (used to |
| format FancyIndexed listings.)</dd> |
| |
| <dt><a name="indexoptions.suppresslastmodified" |
| id="indexoptions.suppresslastmodified" |
| >SuppressLastModified</a></dt> |
| |
| <dd>This will suppress the display of the last modification date, |
| in fancy indexing listings. |
| |
| <strong>This option |
| only has an effect if <a href="#indexoptions.fancyindexing" |
| ><code>FancyIndexing</code></a> is also enabled.</strong> |
| </dd> |
| |
| <dt><a name="indexoptions.suppressrules" |
| id="indexoptions.suppressrules">SuppressRules</a> |
| </dt> |
| |
| <dd>This will suppress the horizontal rule lines (<code>hr</code> |
| elements) in directory listings. Combining both <code>SuppressIcon</code> and |
| <code>SuppressRules</code> yields proper HTML 3.2 output, which |
| by the final specification prohibits <code>img</code> and |
| <code>hr</code> elements from the <code>pre</code> block (used to |
| format FancyIndexed listings.) |
| |
| <strong>This option |
| only has an effect if <a href="#indexoptions.fancyindexing" |
| ><code>FancyIndexing</code></a> is also enabled.</strong> |
| |
| </dd> |
| |
| <dt><a name="indexoptions.suppresssize" |
| id="indexoptions.suppresssize">SuppressSize</a></dt> |
| |
| <dd>This will suppress the file size in fancy indexing listings. |
| |
| <strong>This option |
| only has an effect if <a href="#indexoptions.fancyindexing" |
| ><code>FancyIndexing</code></a> is also enabled.</strong> |
| </dd> |
| |
| <dt><a name="indexoptions.trackmodified" |
| id="indexoptions.trackmodified">TrackModified</a></dt> |
| |
| <dd>This returns the <code>Last-Modified</code> and <code>ETag</code> |
| values for the listed directory in the HTTP header. It is only valid |
| if the operating system and file system return appropriate stat() |
| results. Some Unix systems do so, as do OS2's JFS and Win32's |
| NTFS volumes. OS2 and Win32 FAT volumes, for example, do not. |
| Once this feature is enabled, the client or proxy can track |
| changes to the list of files when they perform a <code>HEAD</code> |
| request. Note some operating systems correctly track new and |
| removed files, but do not track changes for sizes or dates of |
| the files within the directory. <strong>Changes to the size |
| or date stamp of an existing file will not update the |
| <code>Last-Modified</code> header on all Unix platforms.</strong> |
| If this is a concern, leave this option disabled.</dd> |
| |
| <dt><a name="indexoptions.type" |
| id="indexoptions.type" |
| >Type=<var>MIME content-type</var></a> (<em>Apache HTTP Server 2.0.61 and |
| later</em>)</dt> |
| |
| <dd>The <code>Type</code> keyword allows you to |
| specify the MIME content-type of the generated page. The default |
| is <var>text/html</var>. |
| |
| <highlight language="config"> |
| IndexOptions Type=text/plain |
| </highlight> |
| </dd> |
| |
| <dt><a name="indexoptions.useolddateformat" |
| id="indexoptions.useolddateformat" |
| >UseOldDateFormat</a> |
| (<em>Apache HTTP Server 2.4.26 and later</em>)</dt> |
| |
| <dd>The date format used for the <code>Last Modified</code> field was |
| inadvertently changed to <code>"%Y-%m-%d %H:%M"</code> from |
| <code>"%d-%b-%Y %H:%M"</code> in 2.4.0. Setting this option |
| restores the date format from 2.2 and earlier.</dd> |
| |
| <dt><a name="indexoptions.versionsort" |
| id="indexoptions.versionsort">VersionSort</a> |
| (<em>Apache HTTP Server 2.0a3 and later</em>)</dt> |
| |
| <dd>The <code>VersionSort</code> keyword causes files containing |
| version numbers to sort in a natural way. Strings are sorted as |
| usual, except that substrings of digits in the name and |
| description are compared according to their numeric value. |
| |
| <example><title>Example:</title> |
| foo-1.7<br /> |
| foo-1.7.2<br /> |
| foo-1.7.12<br /> |
| foo-1.8.2<br /> |
| foo-1.8.2a<br /> |
| foo-1.12 |
| </example> |
| |
| <p>If the number starts with a zero, then it is considered to |
| be a fraction:</p> |
| |
| <example> |
| foo-1.001<br /> |
| foo-1.002<br /> |
| foo-1.030<br /> |
| foo-1.04 |
| </example> |
| </dd> |
| |
| <dt><a name="indexoptions.xhtml" |
| id="indexoptions.xhtml">XHTML</a> |
| (<em>Apache HTTP Server 2.0.49 and later</em>)</dt> |
| |
| <dd>The <code>XHTML</code> keyword forces <module>mod_autoindex</module> |
| to emit XHTML 1.0 code instead of HTML 3.2. |
| <strong>This option |
| only has an effect if <a href="#indexoptions.fancyindexing" |
| ><code>FancyIndexing</code></a> is also enabled.</strong> |
| </dd> |
| |
| </dl> |
| |
| |
| <!-- |
| XXX: we should consider to allow sections inside <usage> |
| this would require some xslt changes... |
| --> |
| <dl><dt>Incremental IndexOptions</dt> |
| <dd> |
| <p>Be aware of how multiple <directive>IndexOptions</directive> are |
| handled.</p> |
| |
| <ul> |
| <li>Multiple <directive>IndexOptions</directive> directives for a |
| single directory are now merged together. The result of: |
| |
| <highlight language="config"> |
| <Directory "/foo"> |
| IndexOptions HTMLTable |
| IndexOptions SuppressColumnsorting |
| </Directory> |
| </highlight> |
| |
| <p>will be the equivalent of</p> |
| |
| <highlight language="config"> |
| IndexOptions HTMLTable SuppressColumnsorting |
| </highlight> |
| </li> |
| |
| <li>The addition of the incremental syntax (<em>i.e.</em>, prefixing |
| keywords with <code>+</code> or <code>-</code>).</li> |
| </ul> |
| |
| <p>Whenever a '+' or '-' prefixed keyword is encountered, it |
| is applied to the current <directive>IndexOptions</directive> |
| settings (which may have been inherited from an upper-level |
| directory). However, whenever an unprefixed keyword is processed, it |
| clears all inherited options and any incremental settings encountered |
| so far. Consider the following example:</p> |
| |
| <highlight language="config"> |
| IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing |
| IndexOptions +SuppressSize |
| </highlight> |
| |
| <p>The net effect is equivalent to <code>IndexOptions FancyIndexing |
| +SuppressSize</code>, because the unprefixed <code>FancyIndexing</code> |
| discarded the incremental keywords before it, but allowed them to |
| start accumulating again afterward.</p> |
| |
| <p>To unconditionally set the <directive>IndexOptions</directive> for |
| a particular directory, clearing the inherited settings, specify |
| keywords without any <code>+</code> or <code>-</code> prefixes.</p> |
| </dd> |
| </dl> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>IndexOrderDefault</name> |
| <description>Sets the default ordering of the directory index</description> |
| <syntax>IndexOrderDefault Ascending|Descending |
| Name|Date|Size|Description</syntax> |
| <default>IndexOrderDefault Ascending Name</default> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>The <directive>IndexOrderDefault</directive> directive is used |
| in combination with the <code><a href="#indexoptions.fancyindexing" |
| >FancyIndexing</a></code> index option. By default, fancyindexed |
| directory listings are displayed in ascending order by filename; the |
| <directive>IndexOrderDefault</directive> allows you to change this |
| initial display order.</p> |
| |
| <p><directive>IndexOrderDefault</directive> takes two |
| arguments. The first must be either <code>Ascending</code> or |
| <code>Descending</code>, indicating the direction of the sort. |
| The second argument must be one of the keywords <code>Name</code>, |
| <code>Date</code>, <code>Size</code>, or <code>Description</code>, |
| and identifies the primary key. The secondary key is |
| <em>always</em> the ascending filename.</p> |
| |
| <p>You can, if desired, prevent the client from reordering the list |
| by also adding the <code><a |
| href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code> |
| index option to remove the sort link from the top of the column, |
| along with the <code><a |
| href="#indexoptions.ignoreclient">IgnoreClient</a></code> index |
| option to prevent them from manually adding sort options to the |
| query string in order to override your ordering preferences.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>IndexStyleSheet</name> |
| <description>Adds a CSS stylesheet to the directory index</description> |
| <syntax>IndexStyleSheet <var>url-path</var></syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>The <directive>IndexStyleSheet</directive> directive sets the name of |
| the file that will be used as the CSS for the index listing. |
| </p> |
| <highlight language="config"> |
| IndexStyleSheet "/css/style.css" |
| </highlight> |
| |
| <p>Using this directive in conjunction with <code>IndexOptions |
| HTMLTable</code> adds a number of CSS classes to the resulting HTML. |
| The entire table is given a CSS id of <code>indexlist</code> and the |
| following classes are associated with the various parts of the |
| listing:</p> |
| |
| <table border="1" style="zebra"> |
| <tr><th>Class</th><th>Definition</th></tr> |
| <tr><td>tr.indexhead</td><td>Header row of listing</td></tr> |
| <tr><td>th.indexcolicon and td.indexcolicon</td> <td>Icon column</td></tr> |
| <tr><td>th.indexcolname and td.indexcolname</td> <td>File name column</td></tr> |
| <tr><td>th.indexcollastmod and td.indexcollastmod</td> <td>Last modified column</td></tr> |
| <tr><td>th.indexcolsize and td.indexcolsize</td> <td>File size column</td></tr> |
| <tr><td>th.indexcoldesc and td.indexcoldesc</td> <td>Description column</td></tr> |
| <tr><td>tr.breakrow</td> <td>Horizontal rule at the bottom of the table</td></tr> |
| <tr><td>tr.odd and tr.even</td> <td>Alternating even and odd rows</td></tr> |
| </table> |
| |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>IndexHeadInsert</name> |
| <description>Inserts text in the HEAD section of an index page.</description> |
| <syntax>IndexHeadInsert <var>"markup ..."</var></syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>The <directive>IndexHeadInsert</directive> directive specifies a |
| string to insert in the <var><head></var> section of the HTML |
| generated for the index page.</p> |
| <highlight language="config"> |
| IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">" |
| </highlight> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>ReadmeName</name> |
| <description>Name of the file that will be inserted at the end |
| of the index listing</description> |
| <syntax>ReadmeName <var>filename</var></syntax> |
| <contextlist><context>server config</context><context>virtual host</context> |
| <context>directory</context><context>.htaccess</context> |
| </contextlist> |
| <override>Indexes</override> |
| |
| <usage> |
| <p>The <directive>ReadmeName</directive> directive sets the name |
| of the file that will be appended to the end of the index |
| listing. <var>Filename</var> is the name of the file to include, and |
| is taken to be relative to the location being indexed. If |
| <var>Filename</var> begins with a slash, as in example 2, it will be taken to be |
| relative to the <directive module="core">DocumentRoot</directive>. |
| </p> |
| |
| <highlight language="config"> |
| # Example 1 |
| ReadmeName FOOTER.html |
| </highlight> |
| |
| <highlight language="config"> |
| # Example 2 |
| ReadmeName /include/FOOTER.html |
| </highlight> |
| |
| <p>See also <directive module="mod_autoindex" |
| >HeaderName</directive>, where this behavior is described in greater |
| detail.</p> |
| </usage> |
| </directivesynopsis> |
| |
| </modulesynopsis> |