> Hello, all.
>
> First, the problem:
> ________________________________________
> [Tue Jun 20 09:06:55 2000] [error] [client 90.17.209.65] Invalid error
> redirection directive: üØ@
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> üØ@? Let me assure you, "üØ@" isn't in my code anywhere. =o)
>
> I am, however, using a PerlPostReadRequestHandler that currently looks
> much like this:
> ________________________________________
>
> package Apache::PortCorrect;
>
> use strict;
> use Apache::Constants qw( :response :methods );
> use Carp ();
> $SIG{__WARN__} = \&Carp::cluck;
>
> sub handler {
> my($r,$s,$url,$args,$uri,$subr);
> $r = shift; # the request object
> return OK if 443 == $r->get_server_port;
> (undef,$url,undef) = split(/\s+/o, $r->the_request);
> return OK if $url =~ m{ ^(?:/ # doc root
> | /(list|of|ok|dirs)/.* # edited
> | /(page|list)[.]shtml # ditto
> | .*[.](gif|jpg)
> )$
> }ixo;
> $uri = "https://our.intranet.com" . $url; # again
> $args = $r->args;
> $uri .= "?$args" if $args;
> $r->custom_response(MOVED,$uri);
> return MOVED;
> }
>
> 1; # guarantee return code for load
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Am I confusing or crosswiring Apache by doing a cross-port custom
> response here? It seems to work....
>
> Or is it something entirely different?
I don't think you can want custom_response here, it does an internal
redirect. You want to do an external redirect, so use
$r->header_out(location => ...)
--
Eric