You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Nilesh Govindarajan <li...@itech7.com> on 2010/04/01 03:48:25 UTC

Re: [users@httpd] Re: Conditionally process directives based on environment variable values in Apache conf?

On 04/01/10 00:58, Jeffery Martin wrote:
> I found this in the mail archives.
>
> http://mail-archives.apache.org/mod_mbox/httpd-users/200601.mbox/%3Ce498c1660601190620i664df153y2bbbbd8f7aa2a9d7@mail.gmail.com%3E
>
> "But the standard advice in cases like this is: httpd.conf is not a
> programming language, it is a config file.  If you need more advanced
> features, then use your favorite preprocess (m4, etc) to generate your
> config files."
>
> This certainly applies to my situation, and I was thinking something
> similar.  Still, the Apache httpd conf syntax is quite powerful, so my
> question still seemed worth asking.
>
>
>
> On Wed, Mar 31, 2010 at 1:16 PM, Jeffery Martin<je...@gmail.com>  wrote:
>> Hello,
>>
>> Is there a way in the Apache conf syntax to conditionally process
>> directives based on a string comparison using environment variables?
>>
>> I am aware of using the IfDefine directive and the -D flag of httpd,
>> but that functionality is not quite when I am looking for.
>>
>> For example, suppose the directive I am looking for were named
>> "IfMatch".  I would want to do something like this.
>>
>> <IfMatch ${MYVAR1} "production">
>>     # Directives related to production.
>> </IfMatch>
>>
>> <IfMatch ${MYVAR1} "test">
>>     # Directives related to test.
>> </IfMatch>
>>
>> <IfMatch ${MYVAR1} "development">
>>     # Directives related to development.
>> </IfMatch>
>>
>> I realize that I could do the equivalent with IfDefine and 3 different
>> define parameters, but I am wondering if it is possible to perform the
>> string comparison within the Apache conf itself as I detailed above.
>>
>>
>> Thanks, All.
>>
>
>
>

With 2.3 coming, httpd.conf will support LUA as per the announcement. So 
you need to wait till 2.3 is out. :)

-- 
Nilesh Govindarajan
Site & Server Administrator
www.itech7.com
मेरा भारत महान !
मम भारत: महत्तम भवतु !

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Re: Conditionally process directives based on environment variable values in Apache conf?

Posted by Jeffery Martin <je...@gmail.com>.
Hmmm, in other words, use mod_perl, then, right?

On Wed, Mar 31, 2010 at 8:48 PM, Nilesh Govindarajan <li...@itech7.com> wrote:
> On 04/01/10 00:58, Jeffery Martin wrote:
>>
>> I found this in the mail archives.
>>
>>
>> http://mail-archives.apache.org/mod_mbox/httpd-users/200601.mbox/%3Ce498c1660601190620i664df153y2bbbbd8f7aa2a9d7@mail.gmail.com%3E
>>
>> "But the standard advice in cases like this is: httpd.conf is not a
>> programming language, it is a config file.  If you need more advanced
>> features, then use your favorite preprocess (m4, etc) to generate your
>> config files."
>>
>> This certainly applies to my situation, and I was thinking something
>> similar.  Still, the Apache httpd conf syntax is quite powerful, so my
>> question still seemed worth asking.
>>
>>
>>
>> On Wed, Mar 31, 2010 at 1:16 PM, Jeffery Martin<je...@gmail.com>  wrote:
>>>
>>> Hello,
>>>
>>> Is there a way in the Apache conf syntax to conditionally process
>>> directives based on a string comparison using environment variables?
>>>
>>> I am aware of using the IfDefine directive and the -D flag of httpd,
>>> but that functionality is not quite when I am looking for.
>>>
>>> For example, suppose the directive I am looking for were named
>>> "IfMatch".  I would want to do something like this.
>>>
>>> <IfMatch ${MYVAR1} "production">
>>>    # Directives related to production.
>>> </IfMatch>
>>>
>>> <IfMatch ${MYVAR1} "test">
>>>    # Directives related to test.
>>> </IfMatch>
>>>
>>> <IfMatch ${MYVAR1} "development">
>>>    # Directives related to development.
>>> </IfMatch>
>>>
>>> I realize that I could do the equivalent with IfDefine and 3 different
>>> define parameters, but I am wondering if it is possible to perform the
>>> string comparison within the Apache conf itself as I detailed above.
>>>
>>>
>>> Thanks, All.
>>>
>>
>>
>>
>
> With 2.3 coming, httpd.conf will support LUA as per the announcement. So you
> need to wait till 2.3 is out. :)
>
> --
> Nilesh Govindarajan
> Site & Server Administrator
> www.itech7.com
> मेरा भारत महान !
> मम भारत: महत्तम भवतु !
>
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>  "   from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>
>

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org