Apache:Action指令不激活CGI脚本

时间:2014-04-14 05:21:48

标签: apache perl cgi action directive

我一直在使用Apache CGI,并且在尝试请求特定文件扩展名时尝试运行CGI脚本。

我的apache2.conf中有以下内容:

AddHandler handle .html
Action handle /use/lib/cgi-bin/test.pl virtual

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /usr/lib/cgi-bin>
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

因此,当我尝试从我的DocumentRoot目录请求一个html页面Hello.html时,我收到一条错误消息,指出它无法找到一个路径,它结合了我的CGI脚本和请求文件的位置:

  

未找到

     

未找到请求的网址/usr/lib/cgi-bin/test.pl/hello.html   这个服务器。 ryan-virtualbox端口的Apache / 2.2.22(Ubuntu)服务器   80未找到

为什么我的CGI脚本不会运行,为什么这个组合路径显示为Not Found?

提前致谢。

1 个答案:

答案 0 :(得分:3)

根据mod_actions documentation,cgi-script是资源的URL路径。 所以我想你的Action指令应该被重写:

Action handle /cgi-bin/test.pl virtual