diff options
Diffstat (limited to 'lib')
-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' ], |