Passar credenciais de autenticação básica em .htaccess reescrever para pasta protegida

2

Eu tenho duas pastas, F1 e F2, sob minha pasta pública, cada uma com um arquivo .htaccess nelas. F1 é protegido por autenticação básica em .htaccess, assim:

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /home/myaccount/.htpasswd
AuthGroupFile /dev/null 
require valid-user

Estou reescrevendo uma URL da F2 para a F1, assim:

RewriteRule ^f2file\.php$ ../F1/f1file.php [NC,L]

Esta reescrita funciona, mas me desafia com a autenticação básica que configurei na F1. Existe uma maneira de enviar credenciais de autenticação básicas com a reescrita ou ignorar a autenticação básica ao regravar a partir de uma pasta local?

Eu tentei definir uma variável de ambiente como em esta questão :

SetEnvIf Request_URI ^f2file\.php$ ADD_BASIC_AUTH
RequestHeader set Authorization "Basic XXXXXXXX" env=ADD_BASIC_AUTH

Onde XXXXXXXX é o valor codificado base 64 do usuário: passe como descrito na pergunta acima. Mas, isso não funciona, ainda me desafia para as credenciais, talvez porque eu não estou fazendo a reescrita como um proxy? Alguma ideia? Obrigado!

    
por user339568 15.06.2017 / 19:26

1 resposta

1

Como a pasta F1 é protegida por senha, é necessária uma senha para acessar o que for acessado diretamente nesta pasta. Talvez você possa usar um link simbólico da pasta F2 para o arquivo necessário na pasta F1. Em seguida, os clientes acessarão um arquivo em F2 em vez de F1 e nenhuma senha será necessária.

ln -s ../F1/f1file.php f2file.php
    
por 15.06.2017 / 22:31