lib/PublicInbox/WWW.pm | 10 +++++----- diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm index 6eebf628c8692761b7033628d29114ac9c880abb..e8b35cb2b0bd7aa2e05c89d5dd6b43e0578221f5 100644 --- a/lib/PublicInbox/WWW.pm +++ b/lib/PublicInbox/WWW.pm @@ -42,11 +42,6 @@ } elsif ($path_info =~ m!$LISTNAME_RE/$MID_RE/$END_RE\z!o) { msg_page($ctx, $1, $2, $3); - # some Message-IDs have slashes in them and the HTTP server - # 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); - # convenience redirects order matters } elsif ($path_info =~ m!$LISTNAME_RE/([^/]{2,})\z!o) { r301($ctx, $1, $2); @@ -353,6 +348,11 @@ } elsif ($path_info =~ m!$LISTNAME_RE/t/(\S+)\z!o) { r301($ctx, $1, $2, 't/#u'); } elsif ($path_info =~ m!$LISTNAME_RE/f/(\S+)\z!o) { r301($ctx, $1, $2, 'f/'); + + # some Message-IDs have slashes in them and the HTTP server + # 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); } else { r404();