为什么不在 Apache 工作?

为什么不在 Apache 工作?

Bugzilla 上游提供了一个.htaccess文件,其中包含以下 Apache 配置片段:

# Don't allow people to retrieve non-cgi executable files or our private data
<FilesMatch (\.pm|\.pl|\.tmpl|localconfig.*)$>
  <IfModule mod_version.c>
    <IfVersion < 2.4>
      Deny from all
    </IfVersion>
    <IfVersion >= 2.4>
      Require all denied
    </IfVersion>
  </IfModule>
  <IfModule !mod_version.c>
    Deny from all
  </IfModule>
</FilesMatch>

我运行的是 Apache 2.4;但是Deny每当我访问 Bugzilla 主页时,都会出现 500 错误。事实证明,Apache 正在Deny from all从块内部获取信息<IfModule !mod_version.c>,将其更改为Require all denied可修复错误。其他<IfModule>块(例如 mod_rewrite)工作正常。

Apache 为何会这样?我在网上搜索了很久,但还是无果。

以下是有关我的系统的更多信息:

% sudo apachectl -M | grep version
 version_module (static)

% uname -a # Debian 8
Linux steevie 4.9.0-0.bpo.3-amd64 #1 SMP Debian 4.9.30-2+deb9u2~bpo8+1 (2017-06-27) x86_64 GNU/Linux

% apachectl -v 
Server version: Apache/2.4.10 (Debian)
Server built:   Jul 18 2017 18:32:16

相关内容