Eu tenho um servidor de teste com o XAMPP (Apache / PHP / MySQL) em execução no Windows Server 2003.
Eu sempre usei sem problemas nos arquivos .htaccess e .htpasswd. No site em que estou trabalhando, recebo ERRO 404 (sim! Não 403) ao tentar abrir qualquer arquivo dentro do diretório protegido por .htaccess
, que se parece com:
<Files .htaccess>
order allow,deny
deny from all
</Files>
AuthName "Area riservata"
AuthUserFile WEBTESTkeys.htpasswd
AuthType Basic
require valid-user
Eu mudei o .htpasswd
diretório para o mesmo do .htaccess
(WEBTESTpublic_htmladmin.htaccess
) arquivo sem sucesso!
Se eu remover o arquivo, tudo funciona bem: os logs do apache e os logs de erros não dizem nada.
Onde está o problema / erro?
EDITAR
No meu DOCUMENT_ROOT
(WEBTESTpublic_html
) Eu tenho isto .htaccess
Arquivo. Eu descobri que ao comentar a última linha (como segue - nenhum redirecionamento para index.php
para non-file e symlinks) meu problema desaparece. Eu não entendo o porquê!
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(it|de|fr|en)/(.*)$ [NC]
RewriteCond %{DOCUMENT_ROOT}/multi_html/%2 -s
RewriteRule ^(it|de|fr|en)/(.*)$ /multi_html/$2?lingua=$1 [NC,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-s
#RewriteRule . index.php [NC,L]
Respostas:
0 para resposta № 1Eu encontrei uma resposta:
AuthName "Authorisation Required"
AuthUserFile "WEBTESTkeys.htpasswd"
AuthType Basic
require valid-user
ErrorDocument 401 "Authorisation Required" <-- ADD THIS LINE
O Apache mudou isso um pouco e especificando que o documento de erro 401 é necessário, já que o Apache está procurando por ele ao usar .htpasswd
.