THTTPD,识别不了.cgi文件

yaopingcs 2009-09-01 06:59:39
我在客户端点击“提交”时,出现的不是预期的login.cgi页面,而是给出了下载的Login.cgi文件的页面,怎么回事呢?
我的thttpd服务器显示html页面正常,thttpd.conf配置文件设置如下:

# This section overrides defaults
dir=/home/httpd/html
#chroot
#屏蔽chroot是为了运行动态编译的CGI
user=httpd# default = nobody
logfile=/var/log/thttpd.log
pidfile=/var/run/thttpd.pid
# This section _documents_ defaults in effect
#port=80
# nosymlink# default = !chroot
#symlinks
# novhost
cgipat=/cgi-bin/*#声明CGI程序的目录,是以dir为根目录的路径
# nothrottles
# host=0.0.0.0
# charset=iso-8859-1

按理说这样应该没问题了呀,为什么会出现以上原因呢,烦请高手指教。
...全文
490 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
McDullCui 2012-07-12
  • 打赏
  • 举报
回复
问题具体怎么解决的啊????????
yaopingcs 2009-11-18
  • 打赏
  • 举报
回复
我的浏览器是IE,cgi应该没问题,照抄的。 不过问题解决了,换了个开发包里的THTTPD,倒是成功了,谢谢大家的关注。
newzy 2009-09-25
  • 打赏
  • 举报
回复
在命令行使用 -c 指定 cgi 的路径. 如 thttpd -c cgi-bin/**
wenfangxu 2009-09-22
  • 打赏
  • 举报
回复
帮定,虽然我也才开始弄,希望大家都能够很快的学会这个!很好的完成任务
mydis 2009-09-15
  • 打赏
  • 举报
回复
浏览器是火狐的话,直接输出 cgi 源码,换个IE,看看输出的头尾格式,能够输出的话,服务配置我觉得就没问题了,是不是你写的cgi有问题.
yaopingcs 2009-09-11
  • 打赏
  • 举报
回复
按上面两位说的把user=root;cgipat=/home/httpd/html/cgi-bin/*(完整路径),结果还是不行。。。
mydis 2009-09-10
  • 打赏
  • 举报
回复
执行cgi,配置文件中user改成root,应该就可以了.要不500错误
piedgogo 2009-09-10
  • 打赏
  • 举报
回复
还是设置那里的问题,把完整路径换上去试试;多换几种写法
yaopingcs 2009-09-02
  • 打赏
  • 举报
回复
上面颜色不清楚,不好意思,如下:
#!/usr/local/bin/perl print "Content-type:text/html","\n\n"; print "","\n"; print "","\n"; print "","\n"; print "","\n"; print "","\n"; print "
get message from url
","\n"; $Querystringfromenv=$ENV{QUERY_STRING}; @Nameandvaluelists=split(/&/,$Querystringfromenv); foreach $nameandvalue(@Nameandvaluelists) { ($Name,$Value)=split(/=/,$nameandvalue); $Name=~tr/+//; $Value=~s/%([\dA-Fa-f][\dA-Fa-f])/pack("c",hex($1))/eg; print"name=$Name,value=$Value",
\n"; } print "","\n"; print "","\n";
yaopingcs 2009-09-02
  • 打赏
  • 举报
回复
问题补充:如果perl编写的cgi返回的是html页面,即print"Content-type:text/html"...我的点击主页里的提交后,得到的页面为:
#!/usr/local/bin/perl print "Content-type:text/html","\n\n"; print "","\n"; print "","\n"; print "","\n"; print "","\n"; print "","\n"; print "
get message from url
","\n"; $Querystringfromenv=$ENV{QUERY_STRING}; @Nameandvaluelists=split(/&/,$Querystringfromenv); foreach $nameandvalue(@Nameandvaluelists) { ($Name,$Value)=split(/=/,$nameandvalue); $Name=~tr/+//; $Value=~s/%([\dA-Fa-f][\dA-Fa-f])/pack("c",hex($1))/eg; print"name=$Name,value=$Value",
\n"; } print "","\n"; print "","\n";

好像就是识别不了CGI,把源代码几乎都显示出来了。大侠们多多指教!

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧