Скрыть все каталоги в папке из индекса, но не их содержимое
На моем сервере я хочу создать каталог, скрытый от обычных пользователей, но доступный по ссылке без аутентификации.
В настоящее время я настроил это так:
- В конфигурации виртуального хоста я позволил переопределить параметры индекса
- На моем сервере у меня есть папка
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/
Этот каталог не будет отображаться в списке файлов в / (потому что он не содержится в этом каталоге), но он будет работать нормально, если запрос явно.