Скрыть все каталоги в папке из индекса, но не их содержимое

На моем сервере я хочу создать каталог, скрытый от обычных пользователей, но доступный по ссылке без аутентификации.

В настоящее время я настроил это так:

  • В конфигурации виртуального хоста я позволил переопределить параметры индекса
  • На моем сервере у меня есть папка 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/

Этот каталог не будет отображаться в списке файлов в / (потому что он не содержится в этом каталоге), но он будет работать нормально, если запрос явно.

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