Apache Guide: Generating Fancy Directory Listings with mod_autoindex Page 2
IndexOptions
The IndexOptions directive provides a list of options to set
various features of the index listing. These options don't
warrant their own directive, and so are lumped together here.
The syntax of the IndexOptions directive is:
IndexOptions +option1 -option2 ...
Options marked with + will be included in the set of options, and those marked with - will be ommitted. Note that if you forget the + or - in that list, the last item on the list is all that you get. That is,
IndexOptions SuppressDescription ScanHTMLTitles
is exactly the same directive as
IndexOptions ScanHTMLTitles
And, furthermore, it overrides all previous IndexOptions directives
that are already active. Don't forget the + and -!
I'm not going to go over all of the available options - see the docs - but here are a few that I like.
List Folders First
Those of you that are used to a graphical representation of your directories -- something like the Windows file explorer, for example -- are used to seeing the directories at the top of the listing, and the files below that. The default Apache view is to have the directories listed in the same alphabetic ordering as the files.
To override this behavior, use the FoldersFirst option:
IndexOptions +FancyIndexing +FoldersFirstNote that the
FancyIndexingoption is necessary for several of the options to work, including this one.
Descriptions from HTML Titles
Using the
ScanHTMLTitlesoption, you can get a description of each HTML file in a listing by looking in the <TITLE> tag of each file. If you have written good HTML, this will give a very good idea of what each file is, before the user downloads. Note that in order to do this, Apache will need to open each file and parse it looking for a title tag. This can take a long time, and use up a lot of system resources.
Describe your Files
An exceptionally useful feature of
mod_autoindexis the ability to provide descriptions for your files, and have these descriptions appear in the directory listing. This is accomplished with theAddDescriptiondirective. As with several of these directive, you can specify exact file names, or you can give wild-cards to indicate a group of files.AddDescription "My dog" /images/fido.jpg AddDescription "PNG images" *.pngIf you are in the habit of using really long file descriptions, or if you are using the
ScanHTMLTitlesoption above, you might find that the space allocated to you for displaying a description is insufficient. You can correct oft this with theDescriptionWidthoption. This is an option for theIndexOptionsdirective. You can specify a particular width, or you can specify ''*'', indicating that the field should be wide enough to accomodate the largest description you have.IndexOptions +DescriptionWidth=42
Readme Files
OK, one more. It may be desirable to display some informative text at the top of a directory list. This may be information about the files in the directory, or it might be administrative information about the server. Or whatever. The
HeaderNameandReadmeNamedirectives allow you to indicate a file that will be put at the top or bottom (respectively) of the directory listing. The argument for this directive is a filename stub. That means that if you have:
