mirror of
https://github.com/apache/httpd.git
synced 2025-11-06 16:49:32 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@732126 13f79535-47bb-0310-9956-ffa450edef68
160 lines
8.9 KiB
XML
160 lines
8.9 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
|
||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||
This file is generated from xml source: DO NOT EDIT
|
||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||
-->
|
||
<title>mod_sed - Apache HTTP Server</title>
|
||
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
|
||
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
|
||
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
|
||
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
|
||
<body>
|
||
<div id="page-header">
|
||
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
|
||
<p class="apache">Apache HTTP Server Version 2.3</p>
|
||
<img alt="" src="../images/feather.gif" /></div>
|
||
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
|
||
<div id="path">
|
||
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">Modules</a></div>
|
||
<div id="page-content">
|
||
<div id="preamble"><h1>Apache Module mod_sed</h1>
|
||
<div class="toplang">
|
||
<p><span>Available Languages: </span><a href="../en/mod/mod_sed.html" title="English"> en </a></p>
|
||
</div>
|
||
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtering Input (request) and Output (response) content using sed commands</td></tr>
|
||
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
|
||
<tr><th><a href="module-dict.html#ModuleIdentifier">Module<EFBFBD>Identifier:</a></th><td>sed_module</td></tr>
|
||
<tr><th><a href="module-dict.html#SourceFile">Source<EFBFBD>File:</a></th><td>mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h</td></tr>
|
||
<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table>
|
||
<h3>Summary</h3>
|
||
|
||
<p>
|
||
mod_sed is an in-process content filter. The mod_sed filter implements the sed edit
|
||
commands implemented by the Solaris 10 sed
|
||
program as described in the <a href="http://docs.sun.com/app/docs/doc/816-5165/sed-1b?a=view">man
|
||
page</a>. However, unlike sed, mod_sed doesn't take data from
|
||
standard
|
||
input. Instead, the filter acts on the entity data sent between client and
|
||
server. mod_sed can be used as an input or output filter. mod_sed is a
|
||
content filter, which means that it cannot be used to modify client or
|
||
server http headers.
|
||
</p>
|
||
<p>
|
||
The mod_sed output filter accepts a chunk of data, executes the sed scripts on the data, and generates the output which is passed to next filter in the filter chain.
|
||
</p>
|
||
|
||
<p>
|
||
The mod_sed input filter reads the data from the next filter in filter chain, executes the sed scripts, and returns the generated data to the caller filter in the filter chain.
|
||
</p>
|
||
|
||
<p>
|
||
Both the input and output filter only process the data if new line characters are seen in the content. At the end of the data, the rest of the data is treated as the last line.
|
||
</p>
|
||
|
||
<p>A tutorial article on mod_sed, and why it is more powerful than simple
|
||
string or regular expression search and replace, is available <a href="http://blogs.sun.com/basant/entry/using_mod_sed_to_filter">on
|
||
the author's blog</a>.</p>
|
||
|
||
</div>
|
||
<div id="quickview"><h3 class="directives">Directives</h3>
|
||
<ul id="toc">
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#inputsed">InputSed</a></li>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#outputsed">OutputSed</a></li>
|
||
</ul>
|
||
<h3>Topics</h3>
|
||
<ul id="topics">
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Sample Configuration</a></li>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#sed_commands">Sed Commands</a></li>
|
||
</ul></div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="sampleconf" id="sampleconf">Sample Configuration</a></h2>
|
||
<div class="example"><h3>Adding an output filter </h3><p><code>
|
||
# In following example, the sed filter will change the string <br />
|
||
# "monday" to "MON" and the string "sunday" to SUN in html document <br />
|
||
# before sending to client. <br />
|
||
<span class="indent">
|
||
<Directory "/var/www/docs/sed"> <br />
|
||
<span class="indent">
|
||
AddOutputFilter Sed html <br />
|
||
OutputSed "s/monday/MON/g" <br />
|
||
OutputSed "s/sunday/SUN/g" <br />
|
||
</span>
|
||
</Directory> <br />
|
||
</span>
|
||
</code></p></div>
|
||
|
||
<div class="example"><h3>Adding an input filter </h3><p><code>
|
||
# In following example, the sed filter will change the string <br />
|
||
# "monday" to "MON" and the string "sunday" to SUN in the POST data <br />
|
||
# sent to php <br />
|
||
<span class="indent">
|
||
<Directory "/var/www/docs/sed"> <br />
|
||
<span class="indent">
|
||
AddInputFilter Sed php <br />
|
||
InputSed "s/monday/MON/g" <br />
|
||
InputSed "s/sunday/SUN/g" <br />
|
||
</span>
|
||
</Directory> <br />
|
||
</span>
|
||
</code></p></div>
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="sed_commands" id="sed_commands">Sed Commands</a></h2>
|
||
<p>
|
||
Complete details of the sed command can be found from the
|
||
<a href="http://docs.sun.com/app/docs/doc/816-5165/sed-1b?a=view">sed man
|
||
page</a>.
|
||
</p>
|
||
<dl>
|
||
<dt><code>b</code></dt>
|
||
<dd>branch to the label specified (Similar to goto)</dd>
|
||
<dt><code>h</code></dt>
|
||
<dd>Copy the current line to the hold buffer.</dd>
|
||
<dt><code>H</code></dt>
|
||
<dd>Append the current line to the hold buffer.</dd>
|
||
<dt><code>g</code></dt>
|
||
<dd>Copy the hold buffer into the current line</dd>
|
||
<dt><code>G</code></dt>
|
||
<dd>Append the hold buffer to the current line</dd>
|
||
<dt><code>x</code></dt>
|
||
<dd>Swap the content of the hold buffer and the current line</dd>
|
||
</dl>
|
||
</div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="directive-section"><h2><a name="InputSed" id="InputSed">InputSed</a> <a name="inputsed" id="inputsed">Directive</a></h2>
|
||
<table class="directive">
|
||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sed command to filter the request data (typically post data)</td></tr>
|
||
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>InputSed <var>sed-command</var></code></td></tr>
|
||
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
|
||
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
|
||
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_sed</td></tr>
|
||
</table>
|
||
<p>The <code class="directive">InputSed</code> directive specifies the sed command
|
||
which will be executed on the request data e.g POST data.
|
||
</p>
|
||
|
||
</div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="directive-section"><h2><a name="OutputSed" id="OutputSed">OutputSed</a> <a name="outputsed" id="outputsed">Directive</a></h2>
|
||
<table class="directive">
|
||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sed command for filtering the response content</td></tr>
|
||
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>OutputSed <var>sed-command</var></code></td></tr>
|
||
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
|
||
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
|
||
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_sed</td></tr>
|
||
</table>
|
||
<p>The <code class="directive">OutputSed</code> directive specifies the sed
|
||
command which will be executed on the response.
|
||
</p>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="bottomlang">
|
||
<p><span>Available Languages: </span><a href="../en/mod/mod_sed.html" title="English"> en </a></p>
|
||
</div><div id="footer">
|
||
<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
|
||
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
|
||
</body></html> |