O arquivo .htaccess
modifica as configurações do apache com base na localização do sistema de arquivos, onde você deseja alterar as configurações com base no contexto do host virtual.
Portanto, em vez de configurar a autenticação no arquivo .htaccess, modifique o arquivo de configuração do Apache e adicione as configurações de autenticação à entrada correta do host virtual:
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
<Directory /some/path/public_html>
AuthUserFile /some/path/public_html/.htpasswd
AuthGroupFile /dev/null
AuthName "authenticated Users Only"
AuthType Basic
Require valid-user
</Directory>
</VirtualHost>
Em vez de usar uma diretiva <Directory /some/path/public_html>
, isso também pode ser um bom uso caso da diretiva <Location /public_html>
no contexto do host virtual.
Em uma nota lateral, a recomendação strong do projeto Apache diz respeito a .htaccess
files:
You should avoid using
.htaccess
files completely if you have access to httpd main server config file. Using.htaccess
files slows down your Apache http server. Any directive that you can include in a.htaccess
file is better set in a Directory block, as it will have the same effect with better performance.