Apache:针对多个模块进行测试

Apache:针对多个模块进行测试

我们可以使用 Apache 的IfModule指令来测试特定模块的存在与否。Apache 还允许IfModule使用嵌套指令来测试多个模块,换句话说,我们可以实现逻辑AND

是否也可以实现逻辑OR?例如是否可以使用某些东西相似的更改为:

<IfModule mod_php5.c OR sapi_apache2.c>
    # Some directives
</IfModule>

而不是这样:

<IfModule mod_php5.c>
    # Some directives
</IfModule>
<IfModule sapi_apache2.c>
    # Absolutely same directives with mod_php.c
</IfModule>

答案1

虽然这并不完美,但您可以将所需的指令放入单独的文件中,然后将Include其放在相关位置。我不认为有办法在单个IfModule语句中执行逻辑或。

答案2

这就是我想出的:

<IfModule mod_php5.c>
    # Some directives
</IfModule>
<IfModule sapi_apache2.c>
    <IfModule !mod_php5.c>
        # Absolutely same directives with mod_php.c
    </IfModule>
</IfModule>

答案3

<IfModule>部分可以嵌套,可用于实现简单的多模块测试。

http://httpd.apache.org/docs/2.4/mod/core.html#ifmodule

不确定什么时候可以买到。

相关内容