On Wed, 26 Mar 2008 10:15:05 -0400 "Akins, Brian" <[EMAIL PROTECTED]> wrote:
> As to your suggestion: > > So basically, the per_dir merge would use this mechanism instead of > what it does now (file walk, location walk)> (or in addition to??) > > Something like: > > <If Directory == /www/stuff and Remote_IP =~ 10.189.> > SetEnv coolstuff > <Elsif HTTP_Host == www.domain.com or Local_Port == 8080> > Set something different > <Elsif ENV{blah} =~ foo or Cookie{baz} == iamset> > foo bar > <Else> > something completely different > </endif> Sort-of. There's a question of ordering: merge-config happens before some of the vars we'd like to make available are available, so we'd have a bit more work to make Cookie{baz} work (as opposed to parsing a CGI-style HTTP_COOKIE variable). But that's basically the kind of thing. Oh, and there's no inherent reason it shouldn't apply per-host config too. > (Horrible, example I know). If it were easy to extend the expresions > (ie, I want to implement (Cache == yes/no) and stuff like ENV{key} > were made to work, I'm all for it. Straightforward: conditions on headers, method (obsoletes <Limit>), request line, env, CGI vars. With the option to disable conditional stuff for speed. Higher-level stuff like *evaluating* caching or cookie headers ... maybe sometime, but one could argue that's the point where <Perl> or <Lua> makes more sense. > It *should* be fairly easy to test this out with the current system > (ala Proxy blocks). Hopefully, yes. Oh, and since ap_expr is a prerequisite for this, it would be great if folks could review at least the API part (ap_expr.h) of what I posted earlier. -- Nick Kew Application Development with Apache - the Apache Modules Book http://www.apachetutor.org/