Apache 2.4 中的 IF 条件始终被执行

Apache 2.4 中的 IF 条件始终被执行

我正在尝试根据条件加载模块。配置中的 {PHPMODULENAME} 被我正在使用的 AMP 服务器替换 - 所以请不要混淆。

<If "'{PHPMODULENAME}' == 'php8_module'">
    LoadModule module1 "..."
</If>
<Else>
    LoadModule module2 "..."
</Else>

如果条件为真,它应该加载 module1 - 因为只有这样 module1 才可用而 module2 不是。反之亦然。

但是当我尝试启动 Apache 时,它​​会抛出一个错误,因为缺少 module1 或 module2。我知道这一点 - 这就是我添加 IF 条件的原因。

答案1

Apache httpd 提供了特定的条件来测试模块是否存在:

< IfModule >指示:

描述:包含在特定模块存在与否的条件下处理的指令
句法<IfModule [!]module-file|module-identifier> ... </IfModule>

相关内容