<-
Apache HTTP 服务器 2.4 > 处理程序

Apache的处理程序使用

本文档描述了Apache处理程序的使用。

支持Apache!

也可以看看

最佳

什么是处理程序

“处理程序”是调用文件时要执行的动作的内部Apache表示形式。通常,文件具有基于文件类型的隐式处理程序。通常,所有文件仅由服务器提供服务,但是某些文件类型将单独“处理”。

还可以基于文件扩展名或位置来显式配置处理程序,而与文件类型无关。这是有利的,这既因为它是一种更优雅的解决方案,又因为它还允许将类型处理程序都与文件关联。(另请参见具有多个扩展名的文件。)

处理程序可以内置在服务器中或包含在模块中,也可以与Action指令一起添加。标准发行版中的内置处理程序如下:

最佳

例子

使用CGI脚本修改静态内容

以下指令将导致对具有html扩展名的文件的请求触发footer.plCGI脚本的启动 。

Action add-footer /cgi-bin/footer.pl
AddHandler add-footer .html

然后,CGI脚本负责发送最初请求的文档(由PATH_TRANSLATED环境变量指向 )并进行所需的修改或添加。

具有HTTP标头的文件

以下指令将启用 send-as-is处理程序,该处理程序用于包含其自己的HTTP标头的文件。该/web/htdocs/asis/目录中的所有文件 都将由处理send-as-is程序处理,无论其文件扩展名如何。

<Directory "/web/htdocs/asis">
    SetHandler send-as-is
</Directory>
最佳

程序员笔记

为了实现处理程序功能,您可能希望使用Apache API。具体来说,新记录已添加到request_rec结构中:

char *handler

如果希望让模块使用处理程序,则只需 在请求阶段r->handler之前的任何时间将其设置为处理程序的名称invoke_handler。处理程序的实现与以前一样,尽管使用处理程序名称而不是内容类型。虽然没有必要,但处理程序的命名约定是使用短划线分隔的单词(不带斜杠),以免侵害媒体类型名称空间。

可用语言: zh  |  es  |  fr  |  ja  |  ko  |  tr  |  zh-cn 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。