Por que o allow não é permitido aqui no apache2

6

Eu tenho o seguinte no meu arquivo httpd.conf :

<Directory "/www">
    Options Indexes FollowSymLinks
    AllowOverride AuthConfig FileInfo Options=Indexes,Limit
    Order allow,deny
    Allow from all
</Directory>

Em seguida, tenho um diretório ChatLogs localizado na raiz do servidor, com um arquivo .htaccess definido da seguinte maneira:

Allow from all
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /www/.htpasswd
AuthGroupFile /dev/null
Require valid-user

e quando tento acessar o diretório, recebo um erro de 500 servidores com os seguintes registros do servidor ( 10.109.1.92 é o IP da minha intranet):

[alert] [client 10.109.1.92] /www/ChatLogs/.htaccess: allow not allowed here

Entendo que isso se deve à seguinte declaração em .htaccess file:

Allow from all

mas alguém poderia explicar por que a Allow diretiva não é permitida ? Quero mais tarde restringir o acesso a determinados intervalos de endereços IP; e preferiria que ele pudesse ser colocado em diretórios singulares em vez de configurá-los em httpd.conf file.

    
por hjpotter92 26.09.2013 / 09:48

1 resposta

5

Porque você tem uma vírgula antes do limite. Isso faz com que o apache analise como se fosse parte das Opções, em vez de uma substituição separada. Pense nisso assim:

AllowOverride 
               AuthConfig
               FileInfo 
               Options=Indexes,Limit

O que você quer é, ao invés disso,

AllowOverride AuthConfig FileInfo Limit Options=Indexes

Há mais informações em a documentação principal do Apache .

    
por 04.10.2013 / 13:23