需要apache来显示unix目录吗
我在unixserverA上运行apache,我希望在浏览器中使用以下URL查看unix[/app1/bea/hello.txt]上的文件需要apache来显示unix目录吗,apache,Apache,我在unixserverA上运行apache,我希望在浏览器中使用以下URL查看unix[/app1/bea/hello.txt]上的文件http://unixserverA/sg/hello.txt 请帮助我在httpd.conf中进行哪些更改 我在httpd.conf中包含了一个conf文件[bulk.conf],该bulk.conf文件包含下面的条目,但没有帮助 ScriptAlias/sg/“/app1/bea/” 下面是我在浏览器中看到的错误 内部服务器错误 服务器遇到内部错误或配置错
http://unixserverA/sg/hello.txt
请帮助我在httpd.conf中进行哪些更改
我在httpd.conf中包含了一个conf文件[bulk.conf],该bulk.conf文件包含下面的条目,但没有帮助
ScriptAlias/sg/“/app1/bea/”
下面是我在浏览器中看到的错误
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求
请与服务器管理员联系,user@unixserverA并告知他们错误发生的时间,以及您可能采取的任何可能导致错误的措施
有关此错误的详细信息,请参阅服务器错误日志
错误日志显示:
[Thu Feb 21 04:57:45 2013][error](2)没有这样的文件或目录:“/appl/bea/hello.txt”的exec失败[Thu Feb 21 04:57:45 2013][error][client 109.71.70.209]脚本头过早结束:hello.txt 使用该指令时,指示Apache将所选目录中的任何文件作为脚本或可执行文件处理。正如所解释的,这样的脚本应该为HTTP响应生成有效的输出,包括HTTP头。例如,Apache附带了
printenv.pl
示例脚本:
#!/usr/bin/perl
##
## printenv -- demo CGI program which just prints its environment
##
print "Content-type: text/plain; charset=iso-8859-1\n\n";
foreach $var (sort(keys(%ENV))) {
$val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
print "${var}=\"${val}\"\n";
}
作为可执行文件,您还可以从控制台运行它:
./printenv.pl
我不知道hello.txt
包含什么,但是*.txt
扩展名表明它根本不是一个程序。如果它毕竟是一个程序,请确保:
- 它至少打印一个
标题和一个空行内容类型
- 它具有可执行标志:
chmoda+xhello.txt
ScriptAlias
?要显示静态文件还是运行脚本?不管怎样,按照错误消息建议,检查服务器错误日志。我希望运行一个脚本。日志中的错误消息显示……[Thu Feb 21 04:57:45 2013][Error](2)没有这样的文件或目录:“/appl/bea/hello.txt”的exec失败[Thu Feb 21 04:57:45 2013][Error][client 109.71.70.209]脚本头过早结束:hello.txt