Я не думаю, что Вы можете, но Вы всегда можете удаляемый и создавать новую частную очередь именем, которого Вы требуете, может Вы нет?
Понятно ... Приведенный ниже код отключит аутентификацию только для каталога обратных вызовов, возможно, вы можете изменить эту логику так, чтобы она включала аутентификацию только в желаемом каталоге или отключила аутентификацию во всех каталогах, имя которых не соответствует ' t соответствует тому, который вы хотите защитить.
# set an environment variable "noauth" if the request starts with "/callbacks/"
SetEnvIf Request_URI ^/callbacks/ noauth=1
# the auth block
AuthName "Please login."
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /xxx/.htpasswd
#Here is where we allow/deny
Order Deny,Allow
Satisfy any
Deny from all
Require valid-user
Allow from env=noauth
@Gregg_Leventhal дал мне решение, используя переменные среды. Но логика, которую я использую, в точности обратна той, что использовалась в его ответе.
Для полноты, вот код для запроса аутентификации только для URL / en
:
#set an environtment variable "auth" if the request starts with "/en"
SetEnvIf Request_URI ^/en auth=1
AuthName "Please login to access english part"
AuthType Basic
AuthUserFile "/path/to/my/.htpasswd"
# first, allow everybody
Order Allow,Deny
Satisfy any
Allow from all
Require valid-user
# then, deny only if required
Deny from env=auth
Приведенные выше ответы подходят для версий Apache до 2.4. Вот обновление для Apache 2.4 и выше, когда некоторые директивы были изменены. В этом фрагменте файла конфигурации базовая аутентификация HTTP применяется только к URI «/members». «joe» относится к пользователю, указанному в файле «/home/website/.htpasswd».
<Directory "/home/website/www">
AuthType Basic
AuthName "Members' restricted area"
AuthBasicProvider file
AuthUserFile "/home/website/.htpasswd"
<RequireAny>
Require expr %{REQUEST_URI} !~ m#^\/members#
Require user joe
</RequireAny>
</Directory>