Ian Grant wrote:
> Dear mod_perl types,
> 
> A system I have installed relies on doing redirects like the code below, but 
> the redirects don't happen, I just get blank pages in the browser.
> 
> I have tested temp redirects in httpd.conf and they work fine.
> 
> Can anyone tell me if the code below should work, or is there something I 
> need 
> to call to get the Location header output?
> 
> use strict;
> 
> use Apache2::RequestUtil ();
> 
> my $request=Apache2::RequestUtil->request();
> my $url='https://www.some.place.ac.uk/perl/newscript';
> 
> $request->status_line("302 Moved");

don't alter the status line directly.  instead use

  $request->status(302);

from Registry scripts.  once you move to proper mod_perl handlers,
simply calling

  return Apache2::Const::REDIRECT;

is sufficient - no call to $request->status() required.

> $request->headers_out->{'Location'} = $url;
> print STDERR "redir: redirecting to $url\n";
> 
> exit;

better form to

  return Apache2::Const::REDIRECT;

than to call exit - since mod_perl processes never really exit this call
ends up being overridden anyway.  just fyi :)

HTH

--Geoff

Reply via email to