Você pode desativar a autenticação de um local com auth_basic off
. Isso iria encurtar seu arquivo de configuração para algo como isto: (não testado)
server {
auth_basic "Restricted";
auth_basic_user_file file;
location = /unrestricted_file.php {
auth_basic off;
# fastcgi_pass...
}
location / {
root
index
}
location ~ \.php$ {
# fastcgi_pass...
}
}
O "loop" vem do fato de que a autenticação para /dir
é especificada duas vezes ( /
e /dir
). Para ampliar isso, tente alterar o texto para "Restricted path /"
e "Restricted path /dir"
e seu loop deve mostrar as duas mensagens alternadas.