How can I configure Apache to list files in a directory even if an index file is present?

For example, if I have a directory /var/foo that contains a number of files, and one of those is a directory index (index.html, index.php, etc.), how can I make Apache show the directory listing instead of displaying the contents of index.html, when a user browses to http://example.com/foo/?

# Directory listing for /var/foo/, mapped to http://example.com/foo/

I have used the following but I would imagine there's a better way:

Options +Indexes +MultiViews
DirectoryIndex will-never-exist.xyz
  • nice question for an starter – Mughil Dec 31 '11 at 18:39
  • I'm a frequent Stack Overflow user so I know my way around the network. ;) – Jake Petroules Jan 1 '12 at 4:41

You may leave DirectoryIndex option empty or just turn off dir_module module.

  • Leaving the option empty doesn't work for me with apache-2.2.14, index.html still gets used. – David Grellscheid May 23 '12 at 10:53
  • Check your config, it's assigned somewhere. Try to disable module – Selivanov Pavel May 23 '12 at 13:44
  • @Selivanov: got the same problem (tried both empty DirectoryIndex and quoted empty string DirectoryIndex "", defined at the root of my VHost). But when I specify a non-existent file (or disable the module), it works so it's not overriden somewhere else (AFAICT). – Tibo Feb 6 '13 at 10:13

The DirectoryIndex directive can be limited in scope with a Directory block

<Directory /path/to/directory/to/list>
    Options +Indexes +MultiViews
    DirectoryIndex will-never-exist.xyz

This limits the scope to the particular directory rather than your vhost or server etc.

  • 1
    My question was how to disable a DirectoryIndex already in effect, not how to limit scope to a directory... – Jake Petroules Dec 31 '11 at 11:12
  • You should rewrite your question to be clearer about your goal then. – Iain Dec 31 '11 at 11:14
  • 1
    I think it's worded fairly clear but I'll try to improve it. – Jake Petroules Dec 31 '11 at 11:20

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.