繁体   English   中英

客户端被服务器配置拒绝(htaccess;订单允许,拒绝)

[英]client denied by server configuration (htaccess; order allow,deny)

所以我有以下“问题”,我的日志充斥着以下警告:

[access_compat:error] AH01797: client denied by server configuration

有人试图访问的每个页面都会发生这种情况。 现在,我已经发现问题(可能)正在发生,因为我仍在.htaccess使用order allow,deny

...
Order allow,deny
SetEnvIf CF-IPCountry AL good_country
SetEnvIf CF-IPCountry AD good_country
Allow from env=good_country
SetEnvIf CF-IPCountry US bad_country
Deny from env=bad_country
...

虽然上面的htaccess工作正常(来自good_country的人通过,其他人被拒绝),但access_compat:错误仍然显示出来。

因此,取消order allow,deny会导致错误不再显示,但也将使每个人都可以访问该页面。

就像我之前说的那样,我发现这个错误可能是由于我使用了order allow,deny而在Apache版本是2.4时 order allow,deny (我不能确定该版本是2.4,因为我使用的是共享虚拟主机,但它最有可能现在解释; phpinfo()没有显示Apache版本)。

现在我不知道如何解决这个问题,但我看到你也可以使用require ,但我不知道如何将它与good_country / bad_country结合使用。

经过一番搜索和反复试验,我发现以下情况对我来说很好,“错误”停止显示

<RequireAll>
Require expr %{HTTP:CF-IPCountry} =~ /(AL|AD)/i
</RequireAll>

^请注意表达式周围没有引号(与文档相反)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM