1

我想要一个配置块(在包含的文件中),它将根据 apache 版本加载不同的文件。

例如

<some kind of magic detecting apache 2.2>
LoadModule  my_module /usr/local/my/module22.so

<else if apache 2.4>
LoadModule  my_module /usr/local/my/module24.so
<end magic>

是否有捷径可寻?

我的问题的较长版本:我有一个 apache 模块,我构建了 22 和 24 版本。在生产服务器上,两个模块都已安装。我无法控制运行哪个版本的 apache,也无法控制启动选项(因此消除了指令)。

我有一个小的配置存根文件,它包含在主配置文件中,大约:

LoadModule my_module /usr/local/my/module22.so

<IfModule my_module>
..... some config stuff that is valid for either version
</IfModule>

该模块本身的源代码与两个版本的 apache 兼容,但我必须有不同的二进制文件,因为模块 api 不是二进制兼容的。

大多数服务器使用 2.2,少数使用 2.4,完全不受我的控制。我希望正确的事情自动发生,但我还没有找到方法。无论我做什么,它都需要与 2.2 和 2.4 的语法兼容。想法?

或者,有没有其他方法可以

4

1 回答 1

2

这在 apache 指令中可用:IfVersion

于 2013-10-24T12:35:13.883 回答