+ -
当前位置:首页 → 问答吧 → 系统自带的命令行邮件客户端叫什么哪里有下载

系统自带的命令行邮件客户端叫什么哪里有下载

时间:2011-06-02

来源:互联网

想学习C语言开发CGI,我是照 http://www.yolinux.com/TUTORIALS/LinuxTutorialC++CGI.html里的例子做的,网页,程序都写好了,也放到了该放的地方。

测试时网页可以正常打开,但提交按钮按下后出错了,具体为:

Not Found

The requested URL /cgi-bin/testcgi was not found on this server.
Apache/2.2.14 (Ubuntu) Server at localhost Port 80

不知道如何解决,似乎Apache的配置文件我没改过。Apache的文档说要在httpd.conf里修改添加CGI的内容,但论坛又说现在httpd.conf本应是空的,我不知如何解决,请帮助!

作者: code vampire   发布时间: 2011-06-02

折腾了我一天啊!终于找到问题所在了。原来一切正常,上面那个网站描述有误,CGI程序放置的地方错了。检查站点配置文件:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
这一节中,默认为
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>
网页描述为将CGI程序放入/cgi-bin/让人以为是放入/var/www/cgi-bin/而实际情况是这一目录并不是实际目录,实际目录是后面的/usr/lib/cgi-bin/,将CGI程序放到这里后运行正常。
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/中将第二个目录设为实际目录,如/var/www/cgi-bin/,就可以将CGI放在这里了。

我有一事不明,为什么用一个虚拟的目录呢?而不是直接用实际的目录,是为了安全吗?CGI程序很容易被定位的对吧!所以这样的机制可以阻止靠阅读源代码定位CGI程序。

作者: code vampire   发布时间: 2011-06-02