Pergunta

Eu tenho a senha protegida meu site inteiro usando .htaccess Mas eu gostaria de expor um dos sub -diretórios para que ele possa ser visto sem uma senha.

Como posso desativar a proteção de senha htaccess para um subdirectory? Especificamente o que é o .htaccess sintaxe.

Aqui está o meu .htaccess arquivo que é colocado na raiz do meu FTP.

AuthName "Site Administratrion"
AuthUserFile /dir/.htpasswd
AuthGroupFile /dev/null

AuthName secure
AuthType Basic
require user username1
order allow,deny
allow from all
Foi útil?

Solução

Você precisa criar um novo .htaccess arquivo no diretório necessário e inclua o Satisfy any Diretiva assim, para até o Apache 2.3:

# allows any user to see this directory
Satisfy Any

A sintaxe mudou no Apache 2.4, isso tem o mesmo efeito:

Require all granted

Outras dicas

Além da resposta de Ragez, usei isso nas Diretivas do Servidor:

<Directory /var/www/protected/>
     AuthType Basic
     AuthName "Production"
     AuthUserFile /path/to/.htpasswd
     Require valid-user
</Directory>

<Directory /var/www/protected/unprotected>
     Satisfy Any
</Directory>

Incrível. Obrigado Ragez!

Simplesmente crie um novo .htaccess No subdiretório desejado com esta diretiva:

Allow from all

Você pode restringir o seu IP apenas com:

Allow from x.x.x.x

Ver : http://httpd.apache.org/docs/current/mod/mod_access_compat.html

Você precisa adicionar outro arquivo .htaccess ao subdiretório que substitui a autenticação. .htaccess em cascata para cima, ou seja, ele parecerá na pasta atual e depois subirá um nível e assim por diante.

Aqui está uma maneira de permitir o subdiretório "Foo" através da autenticação básica do arquivo principal .htaccess em um site:

AuthType Basic
AuthName "Password Required"
AuthUserFile /dir/.htpasswd
Require expr %{REQUEST_URI} =~ m#^/foo/#
Require valid-user

Nota: Isso funciona no Apache 2.4. Não confirmei para versões anteriores.

Se você deseja impedir que qualquer direto específico da autenticação htaccess, poderá usar o código seguinte no seu arquivo htaccess no topo.

AuthType Basic AuthName "Enter Pass" AuthUserFile /home/public_html/.htpasswd /*PATH TO YOUR .htpasswd FILE*/ Require valid-user SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow Order allow,deny Allow from env=allow

Além disso, se você quiser evitar vários diretórios, adicione

SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow

Quantas vezes, você deseja remover a prevenção de htaccess.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top