从/cgi-bin/文件夹执行Python CGI
我在一台Ubuntu服务器上安装了标准的Apache2。默认设置中,使用了ScriptAlias
将/cgi-bin/
指向/usr/lib/cgi-bin/
。如果我把我的Python CGI脚本放在/usr/lib/cgi-bin/
里,它就能正常执行。
我创建了/var/www/cgi-bin/
这个文件夹,并设置了合适的权限,删除了ScriptAlias
这一行,修改了网站的default
文件中的Directory
条目,把CGI文件移动到/var/www/cgi-bin/
,然后重启了Apache2,但脚本还是无法运行。在浏览器中,它显示成了文本文件,而不是执行。调用这个脚本的HTML文件中引用的是/cgi-bin/SCRIPT
,所以我没有改动这个部分。我尝试在配置文件中用/cgi-bin
和/var/www/cgi-bin
的不同组合,但都没有成功。我该如何让Python CGI文件从/var/www/cgi-bin
运行呢?
2 个回答
0
请确保:
- 你要调用的文件本身有足够的权限。
- 你要调用的文件的扩展名在 .htaccess 文件中被允许(可以参考 newtover 的回答)。
- 在文件的第一行指定你想要如何运行这个脚本。如果你要调用 foo.pl,确保第一行写的是 #!/usr/bin/perl。
4
如果你删除了 ScriptAlias
这个指令,那么你可能需要在主配置文件里或者 .htaccess
文件中添加以下几行代码:
Options +ExecCGI
AddHandler cgi-script py