lib/PublicInbox/WWW.pm | 7 +++++++ diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm index e8b35cb2b0bd7aa2e05c89d5dd6b43e0578221f5..5584e49bf6a993e101a941111a5fbf147397121f 100644 --- a/lib/PublicInbox/WWW.pm +++ b/lib/PublicInbox/WWW.pm @@ -42,6 +42,10 @@ } elsif ($path_info =~ m!$LISTNAME_RE/$MID_RE/$END_RE\z!o) { msg_page($ctx, $1, $2, $3); + # in case people leave off the trailing slash: + } elsif ($path_info =~ m!$LISTNAME_RE/$MID_RE/(f|T|t)\z!o) { + r301($ctx, $1, $2, $3 eq 't' ? 't/#u' : $3); + # convenience redirects order matters } elsif ($path_info =~ m!$LISTNAME_RE/([^/]{2,})\z!o) { r301($ctx, $1, $2); @@ -354,6 +358,9 @@ # may try to be clever and unescape them :< } elsif ($path_info =~ m!$LISTNAME_RE/(\S+/\S+)/$END_RE\z!o) { msg_page($ctx, $1, $2, $3); + # in case people leave off the trailing slash: + } elsif ($path_info =~ m!$LISTNAME_RE/(\S+/\S+)/(f|T|t)\z!o) { + r301($ctx, $1, $2, $3 eq 't' ? 't/#u' : $3); } else { r404(); }