Почему 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
Надеюсь, это сэкономит несколько раз другому отвлеченному пользователю, как я:)