Список каталогов Apache, включая файлы «по умолчанию»

#apache #configuration #apache2

#apache #конфигурация #apache2

Вопрос:

Чтобы включить список каталогов, мы бы использовали это в Apache:

 Options Indexes
 

Как перечислить содержимое каталога, включая файл по умолчанию, который Apache обслуживает при запросе каталога, т.Е. DirectoryIndex index.html ?

В идеале мы можем настроить это для каждого виртуального хоста. Мой файл vhost выглядит примерно так:

 <VirtualHost *:80>
  ServerAdmin my@email.com
  DocumentRoot /some/path/
  ...
  <Directory />
    Options Indexes
  </Directory>
</VirtualHost>
 

Ответ №1:

Вы можете установить DirectoryIndex директиве значение, которое может никогда не встречаться в качестве имени файла в вашей файловой системе:

 <VirtualHost *:80>
  ServerAdmin my@email.com
  DocumentRoot /some/path/
  ...
  <Directory />
    Options Indexes
    DirectoryIndex !
  </Directory>
</VirtualHost>
 

Но как только кто-то добавит файл с именем ! , он будет обслуживаться apache вместо отображения списка индексов каталогов. Так что это более или менее странный обходной путь вместо правильного решения.

Комментарии:

1. DirectoryIndex disabled будет доступен в следующей версии apache2, он уже доступен в нестабильной версии v2.3 httpd.apache.org/docs/2.3/mod/mod_dir.html