у меня есть .htpasswd
защита на моем сайте работает нормально. Когда я вызываю скрипт, который помещает все в кеш через PHP CLI, я получаю ошибку 401. Проблема здесь в .htpasswd protection
.
В вызове CLI я определяю свой env (ENV=cron
), как я могу сказать свой .htaccess
не запрашивать имя пользователя и пароль, если env=cron
?
Мой текущий код в .htaccess
является:
<IfDefine env!=cron>
AuthType Basic
AuthName "internal"
AuthUserFile /path/to/my/.htpasswd
Require valid-user
</IfDefine>
Я использую apache 2.2, а не 2.4, что упростит задачу. Как правильно решить эту проблему?
В Apache 2.2 вы можете сделать это с помощью Satisfy
директива.
Например:
AuthType Basic
AuthName "internal"
AuthUserFile /path/to/my/.htpasswd
Require valid-user
Order allow,deny
Allow from env=cron
Satisfy Any
(По умолчанию Satisfy All
)
В <IfDefine>
Директива (в Apache 2.2) может только проверять, были ли установлены параметры в командной строке при запуске Apache. Он не может проверять переменные среды.