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