Назад | Перейти на главную страницу

Почему Apache игнорирует директиву «Индексы параметров»?

У меня есть следующий блок в моем файле .conf, но когда я загружаю соответствующий URL-адрес (который указывает на каталог с фиктивным файлом .txt в нем), я получаю тестовую страницу Apache 2 вместо списка каталогов.

<Directory "/var/www/sites/www.some-site.com/public">
  Options Indexes
  [...other settings that are working fine...]
</Directory>

Если я помещаю туда файл index.html, он загружается, как ожидалось.

«Другие настройки», которые я пропустил, предназначены для аутентификации LDAP HTTP и т.п., и все они также работают должным образом.

В каталоге нет файла .htaccess.

Я просто не могу заставить работать просмотр каталогов.

Я также пробовал + Indexes, но все равно не повезло.

босс нашел проблему. это был файл conf.d / welcome.conf. у него была директива LocationMatch, которая обнаруживала отсутствие файла index.html и по умолчанию открывала страницу приветствия.

Основные шаги:

  • Проверьте и убедитесь, что нет файла .htaccess, который отменяет ваши настройки (установите AllowOverride None, что может помочь)
  • Проверьте и убедитесь, что ваш каталог может быть прочитан Apache
  • Проверьте и убедитесь, что у вас нет другого <directory> флаг, который имеет приоритет над вашими настройками.

У меня была аналогичная проблема с виртуальным хостом на моем сервере Apache: я хотел отключить список каталогов, поэтому отредактировал файл .conf, добавив параметр -Indexes, но он, похоже, не работал. Никакие .htaccess не были включены, и никакие другие директивы не отменяли мое правило.

После некоторой головной боли я обнаружил глупейшую причину: у меня было два файла .conf, один для доступа по http, другой для SSL. Я, конечно, заходил на сайт, используя протокол, связанный с еще не редактированным файлом .conf.

Надеюсь, это сэкономит время другому отвлеченному пользователю вроде меня :)