The <perl> sections are just for load time configurations. You want to write a mod_perl handler and bind it only to the <location /> under the https virtual host.
You can use the handler to parse the uri and then use the $r->sendfile("/newdocumentroot/$file"); --- "Gary C. New" <[EMAIL PROTECTED]> wrote: > Geoffrey, > > My intention is to capture HTTPS requests as they > come in, break the URI > down, and then dynamically change DocumentRoot, > Logs, etc based on > whether a given URI meets my set of criteria. > > Example: > > http://domain.tld = DocumentRoot > /home/domain.tld/htdocs > > https://secure.provider.tld/secure/domain.tld/ > > URI is parsed for ^/secure/([.]*[\.]+[.]*)/(.*) > > <Perl> > DocumentRoot is then dynamically replaced with $1 > </Perl> > > I was trying to use mod_rewrite and mod_vhost_alias > to do this, but I > just could not get the environment variables into > DocumentRoot. > > I thought this might be possible with <Perl> > sections? > > Thank you for your assistance. > > Respectfully, > > > Gary > > > Geoffrey Young wrote: > > > > Gary C. New wrote: > > > >>mod_perl = 1.27 > >> > >>I am trying to setup a <Perl> section in my > httpd.conf file that will > >>retrieve the web server's environment variables. > I've tried several > >>methods and all lead me back to the same problem. > >> > >>I first tried using PerlPassEnv but could never > get any environment > >>variables from it. I also understand there is a > great deal more > >>overhead using this method. > >> > >>I then tried using $r->subprocess_env but always > received an error > >>regarding Can't call method "subprocess_env"on an > undefined value. I > >>believe this routine is a part of the Apache > module. I verified that it > >>was in the perl lib path and then attempted to > "use" it in the <Perl> > >>section. > >> > >>I finally tried using $r->parsed_uri but, again, > continue to receive an > >>error regarding Can't call method "parsed_uri" on > an undefined value. > >>The routine is part of the Apache::URI module, > which I verified was in > >>the path and then attempted to "use" in the <Perl> > section. > > > > > > all of this makes me think that you're after > things like $ENV{REMOTE_USER} > > and other CGI environment variables? > > > > in general, <Perl> sections within a httpd.conf > are executed when Apache is > > started. that means that there is no request to > associate with a client, so > > no $ENV{REMOTE_USER} or other things make any > sense. that's also why you > > couldn't call $r->subprocess_env or $r->parsed_uri > - there is no $r at > > config time. > > > > so, if it's these environment variables you're > looking for, you'll need to > > take a step back and assess what you're really > trying to do. > > > > if you're after other things - such as variables > from /etc/profile - but > > can't access them in <Perl> sections that's a > different issue, and something > > that I'd need to try and recall, as I thought they > should be visible at that > > point. > > > > --Geoff > > > > > > > > -- > Reporting bugs: http://perl.apache.org/bugs/ > Mail list info: > http://perl.apache.org/maillist/modperl.html > List etiquette: > http://perl.apache.org/maillist/email-etiquette.html > -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html