On Thu, 2005-09-01 at 14:49 +0100, Dermot Paikkos wrote:
> I tried to end the handler with a REDIRECT rather than an OK 
> status, thinking that this was a really a redirect.

Nope, that's for internal redirects.

> print STDERR "redirecting, length=$length, ";
> $r->header_out(
>         'Content-Disposition' => 'inline;filename=Myzip.zip',
>         'Location' => 'http://austin/Myzip.zip'
>         );
> my $content = $r->header_out('Content-Disposition');
> print STDERR "content = $content\n";
> 
> # $r->internal_redirect("http://austin/Myzip.zip";);
> 
> return REDIRECT;
> }
> 1;

The Location header is for redirects, not for internal redirects.
You're doing too many things at once here.  Just drop all of this and do
a normal redirect to the file.  You can use CGI.pm's redirect()
function, or do something like this (mod_perl 1.x code):

  use Apache::Constants qw(REDIRECT OK);
  my $r = shift;
  my $location = 'http://example.com/Myzip.zip';
  $r->headers_out->set(Location => $location);
  $r->status(REDIRECT);
  $r->send_http_header;
  return OK;

- Perrin

Reply via email to