Назад | Перейти на главную страницу

Применять базовую аутентификацию HTTP только к корневому каталогу

Я установил простое веб-приложение с несколькими каталогами, которое требует аутентификации только для корневого каталога. Все остальные подкаталоги мне нужно разрешить без пароля.

Я установил базовую аутентификацию HTTP с использованием .htaccess и .htpasswd. Эти файлы помещаются в корневой каталог сети. Моя проблема в том, что подкаталоги автоматически наследуют аутентификацию.

Мне просто нужно применить это только для root и оставить все подкаталоги открытыми. Как мне это сделать?

Ниже приведено содержимое моего файла .htaccess.

AuthType Basic
AuthName "Secure Portal"
AuthUserFile /webroot/.htpasswd
Require valid-user

Вы не можете сделать это (легко) с файлом .htaccess, поскольку директивы в .htaccess применяются к каталогу и всем каталогам под ним.

Файлы .htaccess (или «файлы распределенной конфигурации») позволяют вносить изменения в конфигурацию для отдельных каталогов. Файл, содержащий одну или несколько директив конфигурации, помещается в конкретный каталог документа, и директивы применяются к этому каталогу и всем его подкаталогам.

Я думаю, вы могли бы добавить .htaccess в каждый подкаталог, который отменяет ограничение в корне документа.