}
my $url_base;
if ($cgi) {
- my $cgi_url = $cgi->self_url;
+ my $cgi_url = $cgi->url(-path=>1, -query=>1, -relative=>1);
+ my $base = $cgi->url(-base);
$url_base = $cgi_url;
if ($url_base =~ s!/(?:|index\.html)?\z!!) {
- $rv{atomurl} = "$url_base/index.atom.xml";
+ $rv{atomurl} = "$base$url_base/index.atom.xml";
} else {
$url_base =~ s!/?(?:index|all)\.atom\.xml\z!!;
- $rv{atomurl} = $cgi_url;
+ $rv{atomurl} = $base . $cgi_url;
+ $url_base = $base . $url_base; # XXX is this needed?
}
} else {
$url_base = "http://example.com";