From 20af945e6e9a89a33a531a71dd5a06fcd0bab9cb Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 17 Apr 2014 21:31:06 +0000 Subject: cgi: implement suffix-less Message-ID redirects 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. --- public-inbox.cgi | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'public-inbox.cgi') 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', -- cgit v1.2.3-24-ge0c7