Apache Guide: Generating Fancy Directory Listings with mod_autoindex Page 2


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 +FoldersFirst

Note that the FancyIndexing option is necessary for several of the options to work, including this one.

Descriptions from HTML Titles

Using the ScanHTMLTitles option, 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_autoindex is the ability to provide descriptions for your files, and have these descriptions appear in the directory listing. This is accomplished with the AddDescription directive. 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" *.png

If you are in the habit of using really long file descriptions, or if you are using the ScanHTMLTitles option above, you might find that the space allocated to you for displaying a description is insufficient. You can correct oft this with the DescriptionWidth option. This is an option for the IndexOptions directive. 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 HeaderName and ReadmeName directives 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:

This article was originally published on Oct 9, 2000
Page 2 of 3

Thanks for your registration, follow us on our social networks to keep up-to-date