mod_perl2 passing env vars when doing internal_redirects

mod_perl2 passing env vars when doing internal_redirects

am 11.07.2005 17:24:47 von markus.rietzler

i am porting a mod_perl module from mod_perl1 to mod_perl2.

the script does an internal_redirect and sets some environment-vars. if
the "check" is valid the "REMOTE_USER" is set. this works perfect in
mod_perl-1.29

$r->log_error("Do the User Check ==> $check eq $key");
if ($check eq $key) {
# set REMOTE_USER
# $r->connection->user($user); # in mod_perl_1.x
$r->user($user); # in mod_perl_2.x
$r->log_error("Redirect_User ==> $uri");
}
$r->log_error("Do the Internal-Redirect ==> $uri");
$r->internal_redirect($uri);
return HTTP_MOVED_TEMPORARILY;

the same code in mod_perl2 is not working. after chaning some mehtods
and do the "renaming" required for mod_perl2 the redirect is done but i
only get an environment var "REDIRECT_REMOTE_USER". how can i do an
internal redirect but set (or keep) the env-vars during/after redirect?

thanxs

markus

Re: mod_perl2 passing env vars when doing internal_redirects

am 12.07.2005 14:06:12 von markus.rietzler

just found out, that with apache 2.0.48 REDIRECT_REMOTE_USER is set in
internal_redirects if the new url is not protected via auth. so this
has nothing to do with mod_perl2 etc.
so we now have to look in REDIRECT_REMOTE_USER.

the old thing with "read the manuals"...

markus