我试图弄清楚为什么Perl中的nph脚本会从浏览器中腐蚀。这是代码:
#!/usr/bin/perl
print "Content-Type: text/plain\n\n";
print "FOO";我将其命名为nph-test.cgi,然后从浏览器中运行,得到:

如果我复制完全相同的代码,并将其命名为test.cgi,那么它的结果是很好的:

apache配置是:
<Directory "/home/foo/web/example.org/*">
Options +ExecCGI +FollowSymLinks +MultiViews
AllowOverride AuthConfig
PerlResponseHandler ModPerl::Registry
AddHandler perl-script .cgi .pl
Options +ExecCGI
PerlOptions +ParseHeaders
AllowOverride All
Require all granted
</Directory>我做错了什么?
版本如下:
Apache 2.4.18 Perl 5.22.1
发布于 2017-10-18 13:48:41
好吧,这不是我所期待的解决方案,但已经成功了。我所有的nph脚本都在/cgi-bin/admin文件夹中,所以我所做的就是将它添加到我的Apache中,以便从mod_perl中删除它:
<Directory "/home/user/web/example.com/public_html/cgi-bin/admin">
Options MultiViews FollowSymLinks
AllowOverride All
Require all granted
AddHandler cgi-script .cgi .pl
Options +ExecCGI
Options FollowSymLinks
</Directory>似乎是mod_perl把一些没有解析的标题搞砸了,但它比我的工资等级略高一些。只要这件事管用,我想还可以:) (我只是想把它发出去,以防其他人有同样的问题)。
https://serverfault.com/questions/878836
复制相似问题