IndexOptions


Syntax: IndexOptions option option ... (Apache 1.3.2 and earlier)
Syntax: IndexOptions [+|-]option [+|-]option ... (Apache 1.3.3 and later)
Context: server config, virtual host, directory, .htaccess
Override: Indexes
Status: Base
Module: mod_autoindex
Compatibility: '+/-' syntax and merging of multiple IndexOptions directives is only available with Apache 1.3.3 and later

The IndexOptions directive specifies the behavior of the directory indexing. Option can be one of

FancyIndexing
This turns on fancy indexing of directories.
Note that in versions of Apache prior to 1.3.2, the FancyIndexing and IndexOptions directives will override each other. You should use IndexOptions FancyIndexing in preference to the standalone FancyIndexing directive. As of Apache 1.3.2, a standalone FancyIndexing directive is combined with any IndexOptions directive already specified for the current scope.
IconHeight[=pixels] (Apache 1.3 and later)
Presence of this option, when used with IconWidth, will cause the server to include HEIGHT and WIDTH attributes in the IMG 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 software.
IconsAreLinks
This makes the icons part of the anchor for the filename, for fancy indexing.
IconWidth[=pixels] (Apache 1.3 and later)
Presence of this option, when used with IconHeight, will cause the server to include HEIGHT and WIDTH attributes in the IMG 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 software.
NameWidth=[n | *] (Apache 1.3.2 and later)
The NameWidth keyword allows you to specify the width of the filename column in bytes. If the keyword value is '*', then the column is automatically sized to the length of the longest filename in the display.
ScanHTMLTitles
This enables the extraction of the title from HTML documents for fancy indexing. If the file does not have a description given by AddDescription then httpd will read the document for the value of the TITLE tag. This is CPU and disk intensive.
SuppressColumnSorting
If specified, Apache will not make the column headings in a FancyIndexed directory listing into links for sorting. The default behaviour is for them to be links; selecting the column heading will sort the directory listing by the values in that column. Only available in Apache 1.3 and later.
SuppressDescription
This will suppress the file description in fancy indexing listings.
SuppressHTMLPreamble (Apache 1.3 and later)
If the directory actually contains a file specified by the HeaderName directive, the module usually includes the contents of the file after a standard HTML preamble (<HTML>, <HEAD>, et cetera). The SuppressHTMLPreamble 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.
SuppressLastModified
This will suppress the display of the last modification date, in fancy indexing listings.
SuppressSize
This will suppress the file size in fancy indexing listings.

There are some noticeable differences in the behaviour of this directive in recent (post-1.3.0) versions of Apache.

Apache 1.3.2 and earlier:

The default is that no options are enabled. If multiple IndexOptions could apply to a directory, then the most specific one is taken complete; the options are not merged. For example:

<Directory /web/docs>
IndexOptions FancyIndexing
</Directory>
<Directory /web/docs/spec>
IndexOptions ScanHTMLTitles
</Directory>
then only ScanHTMLTitles will be set for the /web/docs/spec directory.

Apache 1.3.3 and later:

Apache 1.3.3 introduced some significant changes in the handling of IndexOptions directives. In particular,

Whenever a '+' or '-' prefixed keyword is encountered, it is applied to the current IndexOptions 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:

IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
IndexOptions +SuppressSize

The net effect is equivalent to IndexOptions&nbsp;FancyIndexing&nbsp;+SuppressSize, because the unprefixed FancyIndexing discarded the incremental keywords before it, but allowed them to start accumulating again afterward.

To unconditionally set the IndexOptions for a particular directory, clearing the inherited settings, specify keywords without either '+' or '-' prefixes.