Tenho .htpasswd
proteção em meu site que funciona bem. Quando chamo um script que coloca tudo em cache via PHP CLI, recebo um erro 401. O problema aqui é o .htpasswd protection
.
Na chamada CLI eu defino meu env( ENV=cron
), como posso dizer .htaccess
para não solicitar o nome de usuário e a senha se env=cron
?
Meu código atual no .htaccess
é:
<IfDefine env!=cron>
AuthType Basic
AuthName "internal"
AuthUserFile /path/to/my/.htpasswd
Require valid-user
</IfDefine>
Estou usando o Apache 2.2 e não o 2.4, o que tornaria isso muito mais fácil. Qual é a maneira correta de resolver esse problema?
Responder1
No Apache 2.2 você pode fazer isso com a ajuda da Satisfy
diretiva.
Por exemplo:
AuthType Basic
AuthName "internal"
AuthUserFile /path/to/my/.htpasswd
Require valid-user
Order allow,deny
Allow from env=cron
Satisfy Any
(O padrão é Satisfy All
)
A <IfDefine>
diretiva (no Apache 2.2) só é capaz de verificar se os parâmetros foram definidos na linha de comando quando o Apache é iniciado. Não é possível verificar variáveis de ambiente.