permite acesso público à subpasta da pasta protegida no apache

1

Eu tenho protegido por senha a pasta raiz do meu site enquanto faço manutenção, mas quero exibir uma página de erro 401 personalizada para que as pessoas saibam que o site está em construção. Infelizmente, o meu host não me permite escrever acesso a qualquer coisa fora da pasta raiz do meu site, por isso esta página de erro personalizada deve ser armazenada na pasta raiz ou em uma de suas subpastas. Em vez da minha página de erro personalizada, eu recebo a página de erro padrão do Apache e ela também diz "Além disso, um erro 401 de autorização necessária foi encontrado ao tentar usar um ErrorDocument para manipular a solicitação."

Eu procurei maneiras de tornar pública uma subpasta de um diretório protegido, e tudo que consegui encontrar foi usar a diretiva "Satisfazer qualquer", mas isso não funciona para mim. Ele não funciona apenas com arquivos, como no arquivo .htaccess abaixo.

#Authorization Restriction
AuthType Basic
AuthName "Access to root"
AuthUserFile *********************************
Require user ***********

Order Allow,Deny

Satisfy any

#Error Documents
ErrorDocument 401 Error-401.html

#Allow access to error documents
<Files Error-*,html>
Order Deny,Allow
Allow from all
Satisfy any
</Files>

Eu só posso usar arquivos .htaccess; Eu não tenho acesso ao httpd.conf

    
por UnnamedMook 18.12.2011 / 01:14

1 resposta

2

Está funcionando para mim. Mas você tem um erro de digitação em <Files Error-*,html> em vez da vírgula deve ser ponto : <Files Error-*.html>

No meu localhost ele funciona mesmo sem Diretiva de arquivos . Mas no servidor de produção eu tive que usar Satisfazer qualquer como você sugere.

Você pode colocar seu erro 401 personalizado diretamente no ErrorDocument:

ErrorDocument 401 "<html>...</html>"

Ou você pode incluir as regras do Auth com <FilesMatch> e somente negar Arquivo 401.html:

<FilesMatch "^(?!401\.html$).+">
AuthType Basic
AuthName "Awe!"
AuthUserFile /full/path/to/.htpasswd
require user Lord
</FilesMatch>

ErrorDocument 401 /401.html
    
por 17.06.2012 / 21:31