## 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&nbsp;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,

  - Multiple `IndexOptions` directives for a single directory are now merged together. The result of the example above will now be the equivalent of `IndexOptions&nbsp;FancyIndexing&nbsp;ScanHTMLTitles`.
  - The addition of the incremental syntax (i.e., prefixing keywords with '+' or '-').

  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.