Apache 模块 mod_actions

Description:根据媒体类型或请求方法执行 CGI 脚本。
Status:Base
Module Identifier:actions_module
Source File:mod_actions.c

Summary

该模块有两个指令。 Action指令使您可以在请求某个MIME Content Type的文件时运行 CGI 脚本。 Script指令使您可以在请求中使用特定方法时运行 CGI 脚本。这使得执行处理文件的脚本变得更加容易。

Action Directive

Description:为特定的处理程序或 Content Type 激活 CGI 脚本
Syntax:Action action-type cgi-script [virtual]
Context:服务器配置,虚拟主机,目录,.htaccess
Override:FileInfo
Status:Base
Module:mod_actions
Compatibility:virtual修饰符和处理程序传递是在 Apache 2.1 中引入的

该指令添加了一个动作,当动作类型被请求触发时,它将激活 cgi-script。 cgi-script 是到使用ScriptAliasAddHandler指定为 CGI 脚本的资源的 URL 路径。动作类型可以是handlerMIME Content Type。它使用标准 CGI PATH_INFOPATH_TRANSLATED环境变量发送所请求文档的 URL 和文件路径。使用REDIRECT_HANDLER变量传递用于特定请求的处理程序。

示例:MIME 类型

# Requests for files of a particular MIME content type:
Action image/gif /cgi-bin/images.cgi

在此示例中,对 MIME Content Type 为image/gif的文件的请求将由指定的 cgi 脚本/cgi-bin/images.cgi处理。

示例:文件 extensions

# Files of a particular file extension
AddHandler my-file-type .xyz
Action my-file-type "/cgi-bin/program.cgi"

在此示例中,对文件 extensions 为.xyz的文件的请求由指定的 cgi 脚本/cgi-bin/program.cgi处理。

可选的virtual修饰符可关闭检查所请求的文件是否确实存在。例如,如果要在虚拟位置中使用Action指令,此功能将非常有用。

<Location "/news">
    SetHandler news-handler
    Action news-handler "/cgi-bin/news.cgi" virtual
</Location>

See also

Script Directive

Description:为特定的请求方法激活 CGI 脚本。
Syntax:Script method cgi-script
Context:服务器配置,虚拟主机,目录
Status:Base
Module:mod_actions

该指令添加了一个动作,当使用 method 方法请求文件时,该动作将激活 cgi-script。 cgi-script 是到使用ScriptAliasAddHandler指定为 CGI 脚本的资源的 URL 路径。使用标准 CGI PATH_INFOPATH_TRANSLATED环境变量发送所请求文档的 URL 和文件路径。

Method names are case-sensitive

可以使用任意方法名称。 ,因此Script PUTScript put的效果完全不同。

请注意,Script命令仅定义默认操作。如果调用了 CGI 脚本或其他能够在内部处理请求的方法的资源,它将这样做。另请注意,仅当存在查询参数(* e.g. *,foo.html?hi)时,才会调用具有GET方法的Script。否则,请求将正常进行。

# All GET requests go here
Script GET "/cgi-bin/search"

# A CGI PUT handler
Script PUT "/~bob/put.cgi"