我一直在使用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?
提前致谢。
答案 0 :(得分:3)
根据mod_actions documentation,cgi-script是资源的URL路径。 所以我想你的Action指令应该被重写:
Action handle /cgi-bin/test.pl virtual