diff options
-rw-r--r-- | lib/PublicInbox/Feed.pm | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm index b08bd883..92bbf92d 100644 --- a/lib/PublicInbox/Feed.pm +++ b/lib/PublicInbox/Feed.pm @@ -118,13 +118,15 @@ sub get_feedopts { } 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"; |