最近我在研究web、cgi,比较好奇cgi这玩意,就在Ubuntu上下载安装了Apache(2.2版本),并写个简单的html文件 test.html 和相关的cgi文件 t.cgi。

Apache的安装路径为默认路径:/usr/local/apache2。经过对Apache初步简单粗暴的学习,将 test.html 放在了/user/local/apache2/htdocs/ 下,将  t.cgi 放在了 /user/local/apache2/cgi-bin/ 下。

在浏览器上访问 test.html ,在对话框中输入数据,点击提交按钮后,但老出现错误,要么是找不到cgi文件,要么找到了cgi文件却不是执行而是询问是否下载或是直接显示文件代码。

又是一番网上查资料。

网上的回答是:

1、更改 /user/local/apache2/conf/ 下的httpd.conf配置文件(这个文件是关于web服务的配置文件),里面有一个关于 /user/local/apache2/cgi-bin/

项的配置。添加可执行的cgi文件类型,比如:.cgi  .sh  .pl  等,另外,在Options选项上增加ExecCGI。

2、更改cgi文件权限为777。

我也是一切照做了,但弄来弄去问题依旧,郁闷呐!

通过将近一天的倒腾,终于黄天不负有心人!

首先,我写了一个简单的shell脚本test.sh,放在了/user/local/apache2/cgi-bin/下,并在浏览器输入/user/local/apache2/cgi-bin/test.sh后,会出现询问是否下载或是直接显示文件代码。做法:

1:浏览器上路径改为/localhost/cgi-bin/test.sh

2:test.sh文件权限应该为755,不要搞成777那种丑陋的权限;

3:确保cgi文件如test.sh没有语法问题,在终端上可以执行。

至于网上更改httpd.conf配置文件的方法,我保持中立!因为我在没有更改http.conf配置文件的情况下,cgi文件也能在浏览器上执行得很好。至于为什么,我也不能说出来,对于httpd.conf配置文件还有待深入研究!

其次,就是在html文件中的action选项上,路径最好不要写成型如 /user/local/apache2/cgi-bin/... 这样的绝对路径,而是写成/localhost/cgi-bin/...的路径。像我的一般出现找不到cgi文件的情况,action改为后者就解决了!像一般真实客户端输入URL也是类似于后者的!

完!

若文章有不妥,望前辈们指导批评!

关于apache上的CGI文件问题总结--为什么无法找到cgi文件、为什么找到了cgi文件却不执行反而询问是否下载或直接显示文件代码相关推荐

  1. 如何将本地文件通过终端上传到apache上(压缩文件)

    1.scp 文件路径\文件名(zip) root@ip地址:/home/admin(选择传输的文件夹) 2.ssh root@ip地址(登录) 3.cd /    回到根目录 4.cd home/ad ...

  2. 在Apache上搭建pywebsocket提供html5的websocket服务

    参考:http://www.travisglines.com/web-coding/how-to-set-up-apache-to-serve-html5-websocket-applications ...

  3. 在Apache上隐藏服务器签名的方法

    这篇文章主要介绍了在Apache上隐藏服务器签名的方法,示例基于Debian系的Linux,需要的朋友可以参考下 透露网站服务器带有服务器/PHP版本信息的签名会带来安全隐患,因为你基本上将你系统上的 ...

  4. 在Apache上配置防盗链功能和隐藏版本号

    文章目录 在Apache上配置防盗链功能 安装DNS服务 配置http服务软件目录 开启服务 开启服务 源站进行防盗链操作 隐藏版本信息步骤 使用抓包工具查看版本信息 隐藏设置 在Apache上配置防 ...

  5. 在Apache上调试Asp.net 1.1/2.0代码

    我们知道ASP.NET 1.1的项目由于微软设计和实现的原因,对IIS的依赖非常的紧密.不管是创建ASP.NET项目,还是打开.调试ASP.NET项目,都要求IIS运行正常,否则什么都做不成.那么当我 ...

  6. java上传文件怎么设置成777权限_777权限是什么意思?文件夹权限为777如何修改设置?...

    什么是777权限 777权限指的是当前用户可以对相应的文件进行读取.写入和执行的操作,我们建站的时候,有些用户没有对某个文件夹777权限,可能就会造成网站报错,无法正常执行.比如:网站的缓存文件夹,就 ...

  7. apache上如何部署html页面,apache快速部署网页

    几个月前研究了下apache2的架构与部署,时隔那么长时间发现居然全忘了,不得不重新来一遍,写一片日志方便以后查阅. 首先我用的是ubuntu系统,不为别的,光是它方便的软件安装与卸载过程就令你无法抗 ...

  8. apache服务器 上传文件大小,修改Nginx与Apache上传文件大小限制

    我们使用 ngnix 做 web server 的时候,Nginx 对上传文件的大小有限制. 这个时候我们要修改 Nginx 参数. sudo vim /etc/Nginx/Nginx.conf #在 ...

  9. 修改 apache 上传文件大小限制

    修改 apache 上传文件大小限制 2013-06-06 14:58:11| 分类: apache |举报|字号 订阅 第一步: Apache环境中的档案上传大小控制 修改位于Apahce目录下的h ...

最新文章

  1. ROS系统 C++或Python实现订阅者Subscriber
  2. 系统架构面临的三大挑战,看 Kubernetes 监控如何解决?
  3. 牛客 - 第k小数(线性寻找第 k 小数)
  4. 通过MicroProfile上下文传播增强了CDI上下文和隔板
  5. 网页UTF8转换GBK后出现问号?的原因
  6. 148. Sort List 1
  7. 看美文,记单词(6)
  8. mail、sendEmail发送邮件命令
  9. 泛型TListT Generics.Collections单元
  10. keyshot渲染玻璃打光_KeyShot新手的第一次打光,无脑三点打光塑造模型质感
  11. 二进制转8421bcd码_中山CVI转CVBS芯视音科技原装
  12. centos 安装 Pip 的方法总结
  13. 【转】Android 全屏方案(隐藏NavigationBar)
  14. JY游戏之毁经典《扫雷》
  15. djangobook记录
  16. 单片机原理及接口技术
  17. Chrome浏览器取证分析
  18. EasyCVR平台如何实现超低延时的安防视频监控直播?
  19. vue-router.esm.js?ac56:2316 TypeError: Cannot create property ‘_Ctor‘ on string ‘H‘
  20. 阿里云服务器如何初始化云盘(跟换系统)?初始化云盘和跟换操作系统的区别?

热门文章

  1. 无法打开源文件stdafx.h
  2. 关于 print 和 printf:
  3. 最大子矩阵问题悬线法 学习笔记
  4. 拼接大屏数据展示_大屏数据可视化设计注意事项
  5. Matlab基础——切比雪夫I型滤波器(一)
  6. Genesis64v10.97从资产树Assets中选择数据
  7. matlab一元二次方程的求解
  8. 基于UMAT的低密度泡沫本构实现
  9. 小米手机用什么蓝牙耳机好?国产蓝牙耳机推荐
  10. R-forestplot包| HR结果绘制森林图