当环境设置为特定值时不要使用 .htpasswd

当环境设置为特定值时不要使用 .htpasswd

我的网站上有.htpasswd保护措施,运行良好。当我通过 PHP CLI 调用将所有内容放入缓存的脚本时,我收到 401 错误。这里的问题是.htpasswd protection

在 CLI 调用中,我定义了我的环境(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,这样会容易得多。解决这个问题的正确方法是什么?

答案1

在 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 启动时命令行上是否设置了参数。它无法检查环境变量。

相关内容