Vamos dar um exemplo.
Sua aplicação está localizada em / var / www / myApp em algum servidor Linux
.htaccess : /var/www/myApp/.htaccess
htpasswdApp : / var / www / myApp / htpasswdApp . (Você está livre para usar qualquer nome para o arquivo .htpasswd )
Para usar o caminho relativo em .htaccess :
AuthType Digest
AuthName myApp
AuthUserFile "htpasswdApp"
Require valid-user
Mas ele procurará pelo arquivo no diretório server_root . Não está em document_root .
No caso em questão, quando o aplicativo está localizado em / var / www / myApp :
document_root é / var / www / myApp
server_root é / etc / apache2 // (apenas no nosso exemplo, porque usamos o servidor linux )
Você pode redefini-lo no arquivo de configuração do apache ( /etc/apache2/apache2.conf ), mas acho que é uma má idéia.
Para usar o caminho de arquivo relativo em seu /var/www/myApp/.htaccess , defina o arquivo da senha em seu server_root .
Eu prefiro fazer isso seguindo o comando:
sudo ln -s /var/www/myApp/htpasswdApp /etc/apache2/htpasswdApp
Você está livre para copiar meu comando, usar um link físico em vez de símbolo ou copiar um arquivo para seu server_root .