There are some noticeable differences in the behavior of the
IndexOptions directive in recent (post-1.3.0)
versions of Apache. In 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, if the specified
directives are:
<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 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 previous example
will now be the equivalent of IndexOptions
FancyIndexing ScanHTMLTitles.
Incremental syntax (i.e., prefixing keywords with "+" or
"-") has been added.
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
FancyIndexing +SuppressSize,
because the unprefixed FancyIndexing discarded the
incremental keywords before it but allowed them to start accumulating
again afterward.