diff options
author | Eric Wong <e@80x24.org> | 2016-01-02 23:13:18 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-01-02 23:13:18 +0000 |
commit | 09cfec7747cb4e44841e688b4b3f90442f8431f8 (patch) | |
tree | 2921abd96ddef7759462acee027a5c552a272424 /lib/PublicInbox/WWW.pm | |
parent | 3979330907a90821283ac21bc00f0f6506e90383 (diff) | |
download | public-inbox-09cfec7747cb4e44841e688b4b3f90442f8431f8.tar.gz |
We use query strings for search and index pages, so we should not drop them if somebody types a URL by hand and omits the trailing slash.
Diffstat (limited to 'lib/PublicInbox/WWW.pm')
-rw-r--r-- | lib/PublicInbox/WWW.pm | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm index ee414e85..b4c050b1 100644 --- a/lib/PublicInbox/WWW.pm +++ b/lib/PublicInbox/WWW.pm @@ -358,15 +358,19 @@ sub r301 { my ($ctx, $listname, $mid, $suffix) = @_; my $cgi = $ctx->{cgi}; my $url; + my $qs; if (ref($cgi) eq 'CGI') { $url = $cgi->url(-base) . '/'; + $qs = $cgi->query_string; } else { $url = $cgi->base->as_string; + $qs = $cgi->env->{QUERY_STRING}; } $url .= $listname . '/'; $url .= (uri_escape_utf8($mid) . '/') if (defined $mid); $url .= $suffix if (defined $suffix); + $url .= "?$qs" if $qs ne ''; [ 301, [ Location => $url, 'Content-Type' => 'text/plain' ], |