软讯网络 > 操作系统 > Windows98/ME > 用shell写网页时遇到的问题
【标 题】:用shell写网页时遇到的问题
【关键字】:
shell
【来 源】:http://www.cublog.cn/u/18527/showart.php?id=115239
用shell写网页时遇到的问题
想在linux下写几个能由apache执行的动态网页,由于学PHP来不及,用C写吧估计也困难,所以选择shell。因为看到别人用shell能写,就是用几个echo把html语言写显示出来,到了用户浏览器时自然能被显示为网页,所以自己也写了个。尝试中,发现自己写的网页就是不能被显示。如果放在nagios/sbin/目录中,则浏览器显示有内部错误(Internal Server Error),然后查看apache日志,有Access denied for user 'nagios'@'localhost' (using password: YES) 和 malformed header from script. Bad header=<html>: hgtop.cgi 之类的错误,不明白其中的原因。最后仔细看了人家写的程序,在输出html语言之前先有这样一段代码:
echo "Cache-Control: no-store"
echo "Pragma: no-cache"
echo "Refresh: 90"
echo "Last-Modified: $MDATE" (这是前面已赋值的一个变量)
echo "Expires: Thu, 01 Jan 1970 00:00:00 GMT"
echo "Content-type: text/html"
echo ""
于是把它加到我网页前面,呵,居然成功了!
看来,它是需要先告诉apache一些东西啊。随后尝试删除其中的一些,看还出不出问题,结果发现问题仅仅是少了一个空行。即使前面那几行代码都不用,只要在输出 <html> 之前输出一个空行,就没有问题了。哎,折腾了我这么久。
不过也学到了一些,前面那些内容是告诉apache的,比如 Refresh: 90 是告诉apache这个网页每90秒刷新一次,等等,再研究吧。