<-
Apache > HTTP 服务器 > 文档 > 版本 2.4 > 模块

Apache 模块 mod_sed

可用语言:  en  |  fr 

描述使用 sed 语法过滤输入(请求)和输出(响应)内容
状态实验性
模块标识符sed_module
源文件mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h
兼容性在 Apache 2.3 及更高版本中可用

摘要

mod_sed 是一个进程内内容过滤器。 mod_sed 过滤器实现了由 Solaris 10 sed 程序实现的 sed 编辑命令,如 手册页 中所述。但是,与 sed 不同,mod_sed 不会从标准输入获取数据。相反,过滤器作用于客户端和服务器之间发送的实体数据。 mod_sed 可用作输入或输出过滤器。 mod_sed 是一个内容过滤器,这意味着它不能用于修改客户端或服务器 http 标头。

mod_sed 输出过滤器接受一段数据,对数据执行 sed 脚本,并生成传递给链中下一个过滤器的输出。

mod_sed 输入过滤器从链中下一个过滤器读取数据,执行 sed 脚本,并将生成的数据返回给过滤器链中的调用者过滤器。

输入和输出过滤器仅在内容中看到换行符时才处理数据。在数据结束时,其余数据被视为最后一行。在 2.4.54 及更高版本中,长度超过 8MB 的行会导致错误。

Support Apache!

主题

指令

Bugfix 检查表

另请参阅

top

示例配置

添加输出过滤器

# In the following example, the sed filter will change the string
# "monday" to "MON" and the string "sunday" to SUN in html documents
# before sending to the client.
<Directory "/var/www/docs/sed"> 
    AddOutputFilter Sed html 
    OutputSed "s/monday/MON/g" 
    OutputSed "s/sunday/SUN/g" 
</Directory>

添加输入过滤器

# In the following example, the sed filter will change the string
# "monday" to "MON" and the string "sunday" to SUN in the POST data
# sent to PHP.
<Directory "/var/www/docs/sed"> 
    AddInputFilter Sed php 
    InputSed "s/monday/MON/g" 
    InputSed "s/sunday/SUN/g" 
</Directory>
top

Sed 命令

有关 sed 命令的完整详细信息,请参阅 sed 手册页

b
分支到指定的标签(类似于 goto)。
h
将当前行复制到保持缓冲区。
H
将当前行追加到保持缓冲区。
g
将保持缓冲区复制到当前行。
G
将保持缓冲区追加到当前行。
x
交换保持缓冲区和当前行的内容。
top

InputSed 指令

描述用于过滤请求数据的 Sed 命令(通常是 POST 数据)
语法InputSed sed-command
上下文目录,.htaccess
状态实验性
模块mod_sed

InputSed 指令指定要对请求数据(例如 POST 数据)执行的 sed 命令。

top

OutputSed 指令

描述用于过滤响应内容的 Sed 命令
语法OutputSed sed-command
上下文目录,.htaccess
状态实验性
模块mod_sed

OutputSed 指令指定要对响应执行的 sed 命令。

可用语言:  en  |  fr 

top

评论

注意
这不是问答部分。此处放置的评论应指向有关改进文档或服务器的建议,如果它们被实施或被认为无效/不相关,可能会被我们的版主删除。有关如何管理 Apache HTTP Server 的问题应发送到我们的 IRC 频道 #httpd(在 Libera.chat 上)或发送到我们的 邮件列表