about summary refs log tree commit homepage
path: root/public-inbox.cgi
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2014-04-17 21:31:06 +0000
committerEric Wong <e@80x24.org>2014-04-17 21:31:06 +0000
commit20af945e6e9a89a33a531a71dd5a06fcd0bab9cb (patch)
treec820128d86fed0c43f1995f1fc1b848d068de5c3 /public-inbox.cgi
parentb2da3f40fb7650a658b6ed1a15c81704d91b2831 (diff)
downloadpublic-inbox-20af945e6e9a89a33a531a71dd5a06fcd0bab9cb.tar.gz
This may be easier in some cases for copy+paste, but not 100%
reliable in case the .txt and .html suffixes are in the Message-ID
itself.
Diffstat (limited to 'public-inbox.cgi')
-rwxr-xr-xpublic-inbox.cgi15
1 files changed, 11 insertions, 4 deletions
diff --git a/public-inbox.cgi b/public-inbox.cgi
index bd592ce3..31d52133 100755
--- a/public-inbox.cgi
+++ b/public-inbox.cgi
@@ -78,14 +78,14 @@ sub main {
                 invalid_list_mid(\%ctx, $1, $2) || get_mid_txt(\%ctx, $cgi);
         } elsif ($path_info =~ m!$LISTNAME_RE/m/(\S+)\.html\z!o) {
                 invalid_list_mid(\%ctx, $1, $2) || get_mid_html(\%ctx, $cgi);
-        } elsif ($path_info =~ m!$LISTNAME_RE/m/(\S+)\z!o) {
-                redirect_mid_html($cgi, $1, $2);
 
         # full-message page
         } elsif ($path_info =~ m!$LISTNAME_RE/f/(\S+)\.html\z!o) {
                 invalid_list_mid(\%ctx, $1, $2) || get_full_html(\%ctx, $cgi);
-        } elsif ($path_info =~ m!$LISTNAME_RE/f/(\S+)\z!o) {
-                redirect_mid_html($cgi, $1, $2);
+
+        # convenience redirect
+        } elsif ($path_info =~ m!$LISTNAME_RE/(?:m|f)/(\S+)\z!o) {
+                invalid_list_mid(\%ctx, $1, $2) || redirect_mid(\%ctx, $cgi);
 
         } else {
                 r404();
@@ -195,6 +195,13 @@ sub redirect_list_index {
         do_redirect($cgi->self_url . "/");
 }
 
+sub redirect_mid {
+        my ($ctx, $cgi) = @_;
+        my $url = $cgi->self_url;
+        $url =~ s!/f/!/m/!;
+        do_redirect($url . '.html');
+}
+
 sub do_redirect {
         my ($url) = @_;
         [ '301 Moved Permanently',