Summary

A file written by the user, typically called
index.html. The DirectoryIndex directive sets the
name of this file. This is controlled by
mod_dir.

Otherwise, a listing generated by the server. This is
provided by mod_autoindex.

The two functions are separated so that you can completely
remove (or replace) automatic index generation should you want
to.

A "trailing slash" redirect is issued when the server
receives a request for a URL
http://servername/foo/dirname where
dirname is a directory. Directories require a
trailing slash, so mod_dir issues a redirect to
http://servername/foo/dirname/.

The DirectoryIndex directive sets the list of resources to
look for, when the client requests an index of the directory by
specifying a / at the end of the a directory name.
Local-url is the (%-encoded) URL of a document on the
server relative to the requested directory; it is usually the
name of a file in the directory. Several URLs may be given, in
which case the server will return the first one that it finds.
If none of the resources exist and the Indexes
option is set, the server will generate its own listing of the
directory.

Example:

DirectoryIndex index.html

then a request for http://myserver/docs/ would
return http://myserver/docs/index.html if it
exists, or would list the directory if it did not.

Note that the documents do not need to be relative to the
directory;

DirectoryIndex index.html index.txt
/cgi-bin/index.pl

would cause the CGI script /cgi-bin/index.pl to be
executed if neither index.html or
index.txt existed in a directory.