2013-10-23 24 views
1

我想要一個配置塊(在一個包含文件中),這將取決於apache版本LoadModule不同的文件。加載基於apache版本的一個配置不同的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語法兼容。想法?

或者是有一些其他的方式來

+0

好像我也許能:如果我能找到一個模塊,我相當肯定只會在那裏22和24 - 任何人都有22和24的默認模塊列表? –

回答

2

這是Apache指令可用:IfVersion

+0

正是我在找的東西。有些日子谷歌搜索,你贏了,有些日子你放鬆了。希望我的損失將導致他人到這個頁面,他們會贏。 –

+0

是的,我們需要在計算機科學課程上使用一些「谷歌搜索101」:-) – regilero

相關問題