my $cgi=shift;
my %params=@_;
- eval q{use URI};
- # The base url needs to be a full URL. If urlto returns relative,
- # force it absolute, using the same URL scheme used for the cgi.
- my $baseurl = URI->new_abs(urlto($params{page}), $cgi->url);
+ # The base url needs to be a full URL, and urlto may return a path.
+ my $baseurl = urlabs(urlto($params{page}), $cgi->url);
showform($form, $buttons, $session, $cgi, @_,
forcebaseurl => $baseurl);
sub redirect ($$) {
my $q=shift;
eval q{use URI};
- my $url=URI->new(shift);
+ my $url=URI->new(urlabs(shift, $q->url));
if (! $config{w3mmode}) {
print $q->redirect($url);
}