Apache服务器通过何种机制实现CGI脚本执行?
- 内容介绍
- 文章标签
- 相关推荐
本文共计626个文字,预计阅读时间需要3分钟。
相关专题
为了使CGI程序正常工作,需要配置Apache以允许CGI执行。有几种方法可以做到这一点。
方式1:ScriptAlias指令 ( 推荐学习:Apache服务器 )
ScriptAlias指令告诉Apache,为CGI程序留出了一个特定的目录。Apache将假定此目录中的每个文件都是CGI程序,并在客户端请求该特定资源时尝试执行该程序。
ScriptAlias指令如下所示:
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
如果在默认位置安装了Apache,则显示的示例可在默认httpd.conf配置文件找到。
ScriptAlias指令很像Alias指令,它定义了一个映射到特定目录的URL前缀。Alias和ScriptAlias通常用于DocumentRoot目录之外的目录。
Alias和ScriptAlias之间的区别在于ScriptAlias具有额外的含义,即该URL前缀下的所有内容都将被视为CGI程序。
因此,上面的示例告诉Apache,对于以/cgi-bin/开头的资源的任何请求都应该在目录/usr/local/apache2/cgi-bin/中提供,并且应该被视为CGI程序。
例如,如果请求URL http://www.example.com/cgi-bin/test.pl,Apache将尝试执行文件/usr/local/apache2/cgi-bin/test.pl并返回输出。当然,该文件必须存在,并且是可执行的,并以特定方式返回输出,否则Apache将返回错误消息。
本文共计626个文字,预计阅读时间需要3分钟。
相关专题
为了使CGI程序正常工作,需要配置Apache以允许CGI执行。有几种方法可以做到这一点。
方式1:ScriptAlias指令 ( 推荐学习:Apache服务器 )
ScriptAlias指令告诉Apache,为CGI程序留出了一个特定的目录。Apache将假定此目录中的每个文件都是CGI程序,并在客户端请求该特定资源时尝试执行该程序。
ScriptAlias指令如下所示:
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
如果在默认位置安装了Apache,则显示的示例可在默认httpd.conf配置文件找到。
ScriptAlias指令很像Alias指令,它定义了一个映射到特定目录的URL前缀。Alias和ScriptAlias通常用于DocumentRoot目录之外的目录。
Alias和ScriptAlias之间的区别在于ScriptAlias具有额外的含义,即该URL前缀下的所有内容都将被视为CGI程序。
因此,上面的示例告诉Apache,对于以/cgi-bin/开头的资源的任何请求都应该在目录/usr/local/apache2/cgi-bin/中提供,并且应该被视为CGI程序。
例如,如果请求URL http://www.example.com/cgi-bin/test.pl,Apache将尝试执行文件/usr/local/apache2/cgi-bin/test.pl并返回输出。当然,该文件必须存在,并且是可执行的,并以特定方式返回输出,否则Apache将返回错误消息。

