需要Apache显示UNIX目录

问题描述:

我的Apache上运行unixserverA,我希望用这个URL http://unixserverA/sg/hello.txt需要Apache显示UNIX目录

请帮助什么样的变化,我需要查看UNIX [/app1/bea/hello.txt]文件浏览器在httpd.conf中创建。

我已经在我的httpd.conf中包含了一个conf文件[bulk.conf],并且bulk.conf文件具有下面的条目,这没有帮助。

的ScriptAlias/SG /“/ APP1/BEA /”

下面是我在浏览器中看到的错误

内部服务器错误 服务器遇到一个内部错误或配置错误,无法完成您的请求。

请联系服务器管理员user @ unixserverA并告知他们错误发生的时间,以及您可能已经造成错误的任何事情。

有关此错误的更多信息可能在服务器错误日志中可用。

错误日志显示这一点:

[星期四02月21四点57分45秒2013] [错误](2)没有这样的文件或目录:“/申请/ BEA /你好的EXEC键。 TXT”失败
[周四2月21日四时57分45秒2013] [错误] [客户端109.71.70.209]脚本头过早结束:hello.txt的

+0

为什么'ScriptAlias'?你想显示一个静态文件或运行一个脚本?无论如何,请按照错误消息建议并检查服务器错误日志。 – 2013-02-21 13:23:08

+0

我希望运行脚本。 [日期:二月21 04:57:45 2013] [错误](2)没有这样的文件或目录:'/appl/bea/hello.txt'的执行失败 [Thu Feb 21 2013年04:57:45] [错误] [客户端109.71.70.209]脚本标题过早结束:hello.txt – shifahim 2013-02-22 14:07:23

当您使用ScriptAlias指令您指示Apache将选定目录内的任何文件作为脚本或可执行文件处理。正如Apache Tutorial: Dynamic Content with CGI所解释的那样,这样的脚本预计会为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扩展表明它根本不是一个程序。如果程序毕竟,确保:

  • 它打印至少Content-Type头加一个空行。
  • 它具有可执行标志:chmod a+x hello.txt