Существует ли директива Apache2 для явной установки списков каталогов 403 Forbidden?

Существует ли директива Apache2 для явной установки списков каталогов 403 Forbidden?

Есть ли директива для явной установки списков каталогов?без индексного файлана 403 Запрещено? Поведение по умолчанию возвращает 404, потому чтоmod_dirне могу найти индексный файл.

У меня нетmod_autoindexзагружены и Optionsустановлены только на FollowSymLinks. Я пробовал -Indexes, но это все равно вернуло 404.

<IfModule dir_module>
    DirectoryIndex index.php index.html index.htm
    DirectorySlash On
</IfModule>

<Directory /var/www>
    Options FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Это не должно иметь значения, но я использую Apache 2.4.

решение1

Отвечаю на свой собственный вопрос после многих проб и ошибок. Этот ответ должен применяться к Apache >= 2.0.

Подводя итог, можно сказать, что Indexesвариант директивы Optionsтребуетmod_autoindex. Вы можете прекратить чтение, если не хотите получить дополнительную информацию о поведении Apache по умолчанию.

Больше информации

Ключ в том, действительно лиmod_autoindexзагружен. Если он не загружен, настройка Options -Indexesне будет иметь никакого эффекта и вернет 404, что имеет смысл, поскольку DirectoryIndexдиректива mod_dir не может найти ваш индексный файл. Если он загружен, настройка Options -Indexesвернет 403.

Это отчасти объясняется вДокументация по параметрам ApacheподИндексы, что немного сбивает с толку, поскольку Optionsявляется частью mod_core.

Индексы

Если запрашивается URL-адрес, который сопоставляется с каталогом, а в этом каталоге нет DirectoryIndex (например, index.html), то mod_autoindex вернет отформатированный список каталога.

... и объяснил наmod_autoindexстраница:

Автоматическая генерация индекса включается с помощью Options +Indexes. Подробнее см. в директиве Options.

Мои тесты показывают, что включение/отключение файлов .htaccess AllowOverrideне имеет значения.

Связанный контент