if ($cgi) {
my $cgi_url = $cgi->self_url;
$url_base = $cgi_url;
- $url_base =~ s!/?(?:index|all)\.atom\.xml\z!!;
- $rv{atomurl} = $cgi_url;
+ if ($url_base =~ s!/(?:|index\.html)?\z!!) {
+ $rv{atomurl} = "$url_base/index.atom.xml";
+ } else {
+ $url_base =~ s!/?(?:index|all)\.atom\.xml\z!!;
+ $rv{atomurl} = $cgi_url;
+ }
} else {
$url_base = "http://example.com";
$rv{atomurl} = "$url_base/index.atom.xml";
# top-level indices and feeds
if ($path_info eq "/") {
r404();
- } elsif ($path_info =~ m!$LISTNAME_RE/?\z!o) {
+ } elsif ($path_info =~ m!$LISTNAME_RE(?:/|/index\.html)?\z!o) {
invalid_list(\%ctx, $1) || get_index(\%ctx, $cgi, 1);
} elsif ($path_info =~ m!$LISTNAME_RE/index\.atom\.xml\z!o) {
invalid_list(\%ctx, $1) || get_atom(\%ctx, $cgi, 1);
local $ENV{HOME} = $home;
my $res = cgi_run("/test/");
like($res->{head}, qr/Status: 200 OK/, "index returns 200");
+
+ my $idx = cgi_run("/test/index.html");
+ is_deeply($res, $idx,
+ '/$LISTNAME/ and /$LISTNAME/index.html are identical');
# more checks in t/feed.t
}
-
{
local $ENV{HOME} = $home;
my $res = cgi_run("/test/m/blahblah\@example.com.txt");