On Mon, 18 Feb 2002, Andrew Green wrote:

> I'm using a typical dual-server combination for mod_perl content on a
> selection of sites.  Requests go to the vanilla Apache and a
> mod_rewrite/mod_proxy combo forward them on to the mod_perl Apache.
> 
> As part of this, I'm trying to allow a prefix to the URL path to set an
> environment variable I can then use in my mod_perl programs to determine
> databases, templates etc.
> 
> The vanilla httpd.conf features a line thus:
> 
>    RewriteRule ^/(test|access|ewok)/(.*)$
>    http://spare.article7.co.uk:8080/page/$2 [P,E=A7_FRAMEWORK:$1,L]
> 
> (ignoring the wrapping).  I also set PerlPassEnv A7_FRAMEWORK in my
> mod_perl httpd.conf -- but that environment variable always remains
> undef. The order of the P,E,L flags doesn't seem to make a difference.
> 
> I appreciate that this is perhaps more of a mod_proxy issue than a
> mod_perl one, but I suspect I'm not alone in having tried something
> similar.  I haven't found anything in the guide that deals with this
> specifically (I really don't want to append the information as a query
> string), but if I've overlooked anything, I'd be very happy to be
> corrected.

You set A7_FRAMEWORK in vanilla Apache so mod_perl Apache does
not receive it.

You can try my mod_accel module. It send original URL to backend in
X-URL header. Also you do not need to use mod_rewrite if you want
to exclude some URL from proxing.

Igor Sysoev

Reply via email to