public-inbox.cgi | 6 ++---- diff --git a/public-inbox.cgi b/public-inbox.cgi index 374b03d4374cfa6cc058d3b215c22405342767b6..1fb96e75d82aaf9493a6d112001b0e8c765a84d8 100755 --- a/public-inbox.cgi +++ b/public-inbox.cgi @@ -15,7 +15,7 @@ use warnings; use CGI qw(:cgi :escapeHTML -nosticky); # PSGI/FastCGI/mod_perl compat use Encode qw(decode_utf8); use PublicInbox::Config; -use URI::Escape qw(uri_unescape); +use URI::Escape qw(uri_escape uri_unescape); use Digest::SHA qw(sha1_hex); our $LISTNAME_RE = qr!\A(?:/.*?)?/([\w\.\-]+)!; our $pi_config; @@ -172,9 +172,7 @@ my ($ctx, $cgi) = @_; my $x = mid2blob($ctx); return r404() unless $x; - my $pfx = $cgi->self_url; - $pfx =~ s!/m/.+\z!/!; # FIXME: this is not robust - + my $pfx = "../f/" . uri_escape($ctx->{mid}) . ".html"; require PublicInbox::View; require Email::MIME; [ "200 OK", {'Content-Type' => 'text/html'},