2

我不是apache conf文件专家,但我对它们相当熟悉。我在我的一个 wordpress 网站 ( https://ithemes.com/security/ )上安装的一个安全插件对文件进行编辑以.htaccess强制执行自动 IP 禁令(例如,如果您在一个短时间)。这是它生成的块:(我为 IP 地址添加了 xxx

<IfModule mod_authz_core.c>
        <RequireAll>
                Require all granted
                Require not env DenyAccess
                Require not ip xxx.xxx.xxx.xxx
        </RequireAll>
</IfModule>
<IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from env=DenyAccess
        Deny from xxx.xxx.xxx.xxx
        Allow from all
</IfModule>

现在,这会导致网站因 500 错误而崩溃。我在日志中得到的错误是

预期</RequireAll>>但看到</RequireAll>

(注意额外的尾随>)。而且,你瞧,如果我添加一个额外的>,该站点将再次运行。

这里有什么语法规则?为什么我需要额外>的结束标签?为什么(流行且受人尊敬的)插件会生成无效的.htaccess?由于这对我来说看起来很错误,我倾向于相信我有一些模糊的服务器设置或过时的 apache 或其他原因。任何见解将不胜感激。

使用 Apache/2.0.46

4

0 回答 0