Скрыть все каталоги в папке из индекса, но не их содержимое
На моем сервере я хочу создать каталог, скрытый от обычных пользователей, но доступный по ссылке без аутентификации.
В настоящее время я настроил это так:
- В конфигурации виртуального хоста я позволил переопределить параметры индекса
- На моем сервере у меня есть папка
h
как в скрытом - На одном уровне с
h
у меня есть.htaccess
файл с:IndexIgnore h
- А в ч другой
.htaccess
сIndexIgnore *
Тем не менее, это также скрывает содержание h/abc/
что я не хочу. Я пытался положить IndexIgnore .
в h/abc/.htaccess
, но это не сработало. Об этом также говорится в Документах HTTPD, о которых я узнал позже:
Несколько директив IndexIgnore добавляют в список, а не заменяют список игнорируемых файлов. По умолчанию список содержит. (текущий каталог).
Есть ли способ указать IndexIgnore
действовать только на элементы внутри текущего каталога, а не быть рекурсивным?
Или есть какой-то другой, лучший способ справиться с этим? Я бы предпочел не трогать "глобальные" файлы конфигурации слишком сильно, хотя это возможно.
1 ответ
Размещение каталога за пределами корневого каталога вашего документа и создание Alias
получил бы то, что вы хотите. То есть, если предположить, что корень вашего документа /var/www/html
, вы бы создали /var/www/private
и затем добавьте (к вашей глобальной - извините - конфигурации):
Alias /private/ /var/www/private/
Этот каталог не будет отображаться в списке файлов в /
(потому что он не содержится в этом каталоге), но он будет работать нормально, если запрос явно.