Autenticação LocationMatch, sempre permite

4

Eu tenho isso no meu host virtual:

<LocationMatch "/pressonly">
     AuthType Basic
     AuthName "Press Only"
     AuthUserFile /home/pur/.htpasswd
     Require valid-user
</LocationMatch>

Ele mostra o login, mas se eu pressionar cancelar, ainda recebo a página, o que estou perdendo / fazendo errado?

Atualização:

Acho que, depois de mais algumas pesquisas, descobri que meu Location / LocationMatch deve ir depois que qualquer reescrita for executada. Portanto, meu vhost deve ser:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
<Location /pressonly>
     AuthType Basic
     AuthName "Press Only"
     AuthUserFile /home/pur/.htpasswd
     Require valid-user
</Location>

E eu não deveria ter um arquivo .htaccess. No entanto, usando o acima não realiza qualquer reescrita.

    
por Ashley 02.11.2011 / 20:00

1 resposta

4

Adicione o pedido negar, permitir declarações e negar todas. Você também precisará de uma diretiva de satisfação. Suspeito que sua permissão padrão esteja sendo cancelada depois que você cancelar a autenticação.

<Location /pressonly>
    AuthType Basic
    AuthName "Press Only"
    AuthUserFile /home/pur/.htpasswd
    Require valid-user
    order allow,deny
    deny from all
    Satisfy any
</Location>

Atualização: não deve haver um espaço entre permitir e negar.

    
por 05.11.2011 / 05:58