我想从 /var/www/html/cgi-bin 和 /var/www/html/s1/cgi-bin 执行 cgi 文件。我的 httpd.conf 中目前有这个
Options Indexes FollowSymLinks ExecCGI
ScriptAlias /cgi-bin/ "/var/www/html/cgi-bin/"
#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
/var/www/html/cgi-bin 中的 Cgi 文件运行正常,但是当我尝试执行 /var/www/html/s1/cgi-bin/test.cgi 时,出现错误消息,提示我无法执行目录 /var/www/cgi-bin 并且 /var/www/cgi-bin/test.cgi 不存在。
我该如何解决这个问题?
答案1
确保 ScriptAlias 位置位于“mod_alias”指令中。(标签)。
<IfModule alias_module>
ScriptAlias /cgi-bin/ "C:/xampp/cgi-bin/"
</IfModule>
编辑:当然使用 Linux 文件夹系统而不是“C:/”等。
答案2
通过添加到 httpd.conf 使其工作
<Directory "/var/www/html/s1/cgi-bin">
Options +ExecCGI -Indexes
AddHandler cgi-script cgi pl
</Directory>