Почему 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.

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

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

3 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам