From: Eric Wong Date: Thu, 3 Sep 2015 08:28:54 +0000 (+0000) Subject: www: move fallback after legacy matches X-Git-Tag: v1.0.0~924 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=68c9dd7c0e6dc21dfd546ceeadd5da030900a971;p=public-inbox.git www: move fallback after legacy matches We do not want to get legacy URLs swallowed up by our workaround for weird and wonky servers that attempt to unescape PATH_INFO before the app sees it. --- diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm index 6eebf628..e8b35cb2 100644 --- a/lib/PublicInbox/WWW.pm +++ b/lib/PublicInbox/WWW.pm @@ -42,11 +42,6 @@ sub run { } 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); @@ -354,6 +349,11 @@ sub legacy_redirects { } 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(); }