Domínio mutiplo de autenticação do Apache, mas mesmo subdiretório

2

Eu tenho vários sites: example.com, example1.com e example2.com no meu wordpress. Todos eles apontam para a pasta /public_html do meu servidor, que é minha pasta raiz do Apache. O que eu preciso adicionar ao meu arquivo .htaccess para usar a autenticação http somente se o usuário estiver vindo de example2.com/public_html ?

example.com/public_html e example1.com/public_html NÃO devem usar autenticação.

    
por Kamal 07.07.2014 / 08:20

1 resposta

2

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.

    
por 07.07.2014 / 10:57