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

时间:2019-03-15 21:39:01

标签: apache .htaccess

所以我遇到以下“问题”,日志中充满以下警告:

[{"14":2}, {"16":1}, {17:1}]

有人尝试访问的每个页面都会发生这种情况。现在,我已经发现问题(可能)正在发生,因为我仍在[access_compat:error] AH01797: client denied by server configuration

中使用order allow,deny
.htaccess

尽管上述htaccess可以正常运行(来自good_country的人被允许通过,但其他人被拒绝了),但access_compat:error仍然显示。

因此,删除... 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 ... 会使错误不再显示,但也将使所有人都能访问该页面。

就像我之前说过的那样,发现此错误可能是由于我在Apache version is 2.4时使用order allow,deny导致的(我无法确定版本是2.4,因为我使用的是共享虚拟主机但目前最有可能的解释; phpinfo()未显示Apache版本)。

现在,我不完全知道如何解决此问题,但是我看到您也可以同时使用order allow,deny,但我不知道如何将其与require / { {1}}。

1 个答案:

答案 0 :(得分:0)

After a bit more searching and trial-and-error I found at that the following works fine for me and the "errors" stopped showing up

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

^ please note that there are no quotes around the expression (in contrary to the documentation)