Permitir acesso a um diretório quando todos os outros requerem autorização

2

Eu tenho uma configuração do Apache que restringe o acesso a um site, usando o seguinte código -

<Directory /var/www/html/website/test/>
        AuthName "Dyne Drewett Test Site"
        AuthType Basic
        AuthUserFile /usr/local/etc/apache/.htpasswd
        require valid-user
</Directory>

Alguém sabe como posso corrigir isso para permitir acesso total e não autorizado a um diretório em /test/ ? Obrigado.

Atualizar

Depois de alguma ajuda de @dunxd agora tenho isso, o que acredito estar errado, pois ainda estou recebendo o erro 401 ao acessar a página solicitada (encontrada com o % diretório/dyne_drewett/). Qualquer ajuda adicional seria ótima.

# Main directory rules
<Directory /var/www/html/website/test/>

    # General access to the site
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from 192.168.1

    # Authorisation settings
        AuthName "Dyne Drewett Test Site"
        AuthType Basic
        AuthUserFile /usr/local/etc/apache/.htpasswd
        require valid-user

</Directory>

# Theme directory rules
<Directory /var/www/html/website/test/wp-content/themes/dyne_drewett/>

    # General access to the folder
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all

    # Authorisation settings
        AuthType None
        require all granted

</Directory>
    
por David Gard 13.03.2012 / 13:50

1 resposta

5

Existem algumas maneiras de conseguir isso.

O modo mais simples é criar outra entrada de diretório para o subdiretório com AuthType definido como Nenhum assim:

<Directory /test/public>
AuthType None
Require all granted
</Directory>

Outra abordagem usa um URL diferente apontando para o diretório. Em documentos do Apache para a diretiva Directory , há um comentário dizendo:

Be careful with the directory-path arguments: They have to literally match the filesystem path which Apache httpd uses to access the files. Directives applied to a particular will not apply to files accessed from that same directory via a different path, such as via different symbolic links.

Você pode usar isso para sua vantagem aqui - crie um link simbólico de / allowed / para seu subdiretório sob / test / e use esse URL para apontar para o diretório.

    
por 13.03.2012 / 14:01