Я знаю, что это очень старая тема, но я боролся именно с этим сценарием в течение нескольких дней и, наконец, заставил его работать, поэтому я решил поделиться своим решением для дальнейшего использования.
Начиная с Apache версии 2.4 (я полагаю), можно использовать директивы <RequireAll>
и <RequireAny>
.
Это можно использовать для предоставления доступа к определенным подпапкам.
Мое решение для .htaccess (по мотивам этого сайта: https://www.the -art-of-web.com / system / apache-authorization / ):
SetEnvIf REQUEST_URI "^/test/.*" PUBLICACCESS
# Use for multiple subfolders:
# SetEnvIf REQUEST_URI "^/(?:test|test2|test3|test4)/.*" PUBLICACCESS
<RequireAny>
<RequireAll>
# Public access
Require env PUBLICACCESS
Require all granted
</RequireAll>
<RequireAll>
# Require user and password
AuthType Basic
AuthName "Secured"
AuthUserFile /var/www/example.com/.htpasswd
Require valid-user
</RequireAll>
</RequireAny>