Author: buildbot
Date: Thu Jun 13 20:30:38 2013
New Revision: 865597
Log:
Staging update by buildbot for trafficserver
Modified:
websites/staging/trafficserver/trunk/cgi-bin/ (props changed)
websites/staging/trafficserver/trunk/content/ (props changed)
websites/staging/trafficserver/trunk/content/docs/trunk/admin/plugins/regex_remap/index.en.html
Propchange: websites/staging/trafficserver/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Jun 13 20:30:38 2013
@@ -1 +1 @@
-1492268
+1492851
Propchange: websites/staging/trafficserver/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Jun 13 20:30:38 2013
@@ -1 +1 @@
-1492268
+1492851
Modified:
websites/staging/trafficserver/trunk/content/docs/trunk/admin/plugins/regex_remap/index.en.html
==============================================================================
---
websites/staging/trafficserver/trunk/content/docs/trunk/admin/plugins/regex_remap/index.en.html
(original)
+++
websites/staging/trafficserver/trunk/content/docs/trunk/admin/plugins/regex_remap/index.en.html
Thu Jun 13 20:30:38 2013
@@ -64,59 +64,59 @@
what you can accomplish using mod_rewrite in Apache httpd, but obviously not
as flexible or sophisticated (yet).</p>
<p>To use this plugin, configure a remap.config rule like</p>
-<div class="codehilite"><pre><span class="nb">map</span> <span
class="n">http:</span><span class="sr">//</span><span class="n">a</span><span
class="o">.</span><span class="n">com</span> <span class="n">http:</span><span
class="sr">//</span><span class="n">b</span><span class="o">.</span><span
class="n">com</span> <span class="nv">@plugin</span><span
class="o">=</span><span class="n">regex_remap</span><span
class="o">.</span><span class="n">so</span> <span
class="nv">@pparam</span><span class="o">=</span><span
class="n">maps</span><span class="o">.</span><span class="n">reg</span>
+<div class="codehilite"><pre><span class="n">map</span> <span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">a</span><span class="p">.</span><span class="n">com</span> <span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">b</span><span class="p">.</span><span class="n">com</span> <span
class="p">@</span><span class="n">plugin</span><span class="p">=</span><span
class="n">regex_remap</span><span class="p">.</span><span class="n">so</span>
<span class="p">@</span><span class="n">pparam</span><span
class="p">=</span><span class="n">maps</span><span class="p">.</span><span
class="n">reg</span>
</pre></div>
<p>An optional argument (<code>@@pparam</code>) with the string
"<code>profile</code>" will enable
profiling of this regex remap rule, e.g.</p>
-<div class="codehilite"><pre><span class="o">...</span> <span
class="nv">@pparam</span><span class="o">=</span><span
class="n">maps</span><span class="o">.</span><span class="n">reg</span> <span
class="nv">@pparam</span><span class="o">=</span><span class="n">profile</span>
+<div class="codehilite"><pre><span class="p">...</span> <span
class="p">@</span><span class="n">pparam</span><span class="p">=</span><span
class="n">maps</span><span class="p">.</span><span class="n">reg</span> <span
class="p">@</span><span class="n">pparam</span><span class="p">=</span><span
class="n">profile</span>
</pre></div>
<p>Profiling is very low overhead, and the information is dumped to
<code>traffic.out</code>, located in the log directory.
In order to force a profile dump, you can do</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span
class="nv">sudo</span> <span class="n">touch</span> <span
class="n">remap</span><span class="o">.</span><span class="n">config</span>
-<span class="nv">$</span> <span class="nv">sudo</span> <span
class="n">traffic_line</span> <span class="o">-</span><span class="n">x</span>
+<div class="codehilite"><pre>$ <span class="n">sudo</span> <span
class="n">touch</span> <span class="n">remap</span><span
class="p">.</span><span class="n">config</span>
+$ <span class="n">sudo</span> <span class="n">traffic_line</span> <span
class="o">-</span><span class="n">x</span>
</pre></div>
<p>By default, only the path and query string of the URL is
provided for the regular expressions to match. The following optional
parameters can be used to modify the plugin instance behavior:</p>
-<div class="codehilite"><pre><span class="nv">@pparam</span><span
class="o">=</span><span class="p">[</span><span class="nb">no</span><span
class="o">-</span><span class="p">]</span><span class="n">full</span><span
class="o">-</span><span class="n">url</span> <span
class="p">[</span><span class="n">default:</span> <span
class="n">off</span><span class="p">]</span>
-<span class="nv">@pparam</span><span class="o">=</span><span
class="p">[</span><span class="nb">no</span><span class="o">-</span><span
class="p">]</span><span class="n">method</span> <span
class="p">[</span><span class="n">default:</span> <span
class="n">off</span><span class="p">]</span>
-<span class="nv">@pparam</span><span class="o">=</span><span
class="p">[</span><span class="nb">no</span><span class="o">-</span><span
class="p">]</span><span class="n">query</span><span class="o">-</span><span
class="n">string</span> <span class="p">[</span><span
class="n">default:</span> <span class="n">on</span><span class="p">]</span>
-<span class="nv">@pparam</span><span class="o">=</span><span
class="p">[</span><span class="nb">no</span><span class="o">-</span><span
class="p">]</span><span class="n">matrix</span><span class="o">-</span><span
class="n">parameters</span> <span class="p">[</span><span
class="n">default:</span> <span class="n">off</span><span class="p">]</span>
+<div class="codehilite"><pre><span class="p">@</span><span
class="n">pparam</span><span class="p">=[</span><span class="n">no</span><span
class="o">-</span><span class="p">]</span><span class="n">full</span><span
class="o">-</span><span class="n">url</span> <span
class="p">[</span><span class="n">default</span><span class="p">:</span> <span
class="n">off</span><span class="p">]</span>
+<span class="p">@</span><span class="n">pparam</span><span
class="p">=[</span><span class="n">no</span><span class="o">-</span><span
class="p">]</span><span class="n">method</span> <span
class="p">[</span><span class="n">default</span><span class="p">:</span> <span
class="n">off</span><span class="p">]</span>
+<span class="p">@</span><span class="n">pparam</span><span
class="p">=[</span><span class="n">no</span><span class="o">-</span><span
class="p">]</span><span class="n">query</span><span class="o">-</span><span
class="n">string</span> <span class="p">[</span><span
class="n">default</span><span class="p">:</span> <span class="n">on</span><span
class="p">]</span>
+<span class="p">@</span><span class="n">pparam</span><span
class="p">=[</span><span class="n">no</span><span class="o">-</span><span
class="p">]</span><span class="n">matrix</span><span class="o">-</span><span
class="n">parameters</span> <span class="p">[</span><span
class="n">default</span><span class="p">:</span> <span
class="n">off</span><span class="p">]</span>
</pre></div>
<p>If you want the full (original) URL, use the parameter
<code>@pparam=full-url</code>.
For example:</p>
-<div class="codehilite"><pre><span class="o">...</span> <span
class="nv">@pparam</span><span class="o">=</span><span
class="n">maps</span><span class="o">.</span><span class="n">reg</span> <span
class="nv">@pparam</span><span class="o">=</span><span
class="n">full</span><span class="o">-</span><span class="n">url</span>
+<div class="codehilite"><pre><span class="p">...</span> <span
class="p">@</span><span class="n">pparam</span><span class="p">=</span><span
class="n">maps</span><span class="p">.</span><span class="n">reg</span> <span
class="p">@</span><span class="n">pparam</span><span class="p">=</span><span
class="n">full</span><span class="o">-</span><span class="n">url</span>
</pre></div>
<p>The string that you will need to match against looks like</p>
-<div class="codehilite"><pre><span class="n">http:</span><span
class="sr">//s</span><span class="n">erver</span><span class="o">/</span><span
class="n">path</span><span class="p">?</span><span class="n">query</span><span
class="o">=</span><span class="n">bar</span>
+<div class="codehilite"><pre><span class="n">http</span><span
class="p">:</span><span class="o">//</span><span class="n">server</span><span
class="o">/</span><span class="n">path</span>?<span class="n">query</span><span
class="p">=</span><span class="n">bar</span>
</pre></div>
<p>If you also wish to match on the HTTP method used (e.g.
"<code>GET</code>"), you must
use the option <code>@pparam=method</code>. For example:</p>
-<div class="codehilite"><pre><span class="o">...</span> <span
class="nv">@pparam</span><span class="o">=</span><span
class="n">maps</span><span class="o">.</span><span class="n">reg</span> <span
class="nv">@pparam</span><span class="o">=</span><span class="n">method</span>
+<div class="codehilite"><pre><span class="p">...</span> <span
class="p">@</span><span class="n">pparam</span><span class="p">=</span><span
class="n">maps</span><span class="p">.</span><span class="n">reg</span> <span
class="p">@</span><span class="n">pparam</span><span class="p">=</span><span
class="n">method</span>
</pre></div>
<p>With this enabled, the string that you will need to match will look like</p>
-<div class="codehilite"><pre><span class="n">GET</span><span
class="o">/</span><span class="n">path</span><span class="p">?</span><span
class="n">query</span><span class="o">=</span><span class="n">bar</span>
+<div class="codehilite"><pre><span class="n">GET</span><span
class="o">/</span><span class="n">path</span>?<span class="n">query</span><span
class="p">=</span><span class="n">bar</span>
</pre></div>
<p>The "<code>method</code>" parameter can also be used in combination with
"<code>full-url</code>",
and the string to match against will then look like</p>
-<div class="codehilite"><pre><span class="n">GET</span> <span
class="n">http:</span><span class="sr">//s</span><span
class="n">erver</span><span class="o">.</span><span class="n">com</span><span
class="o">/</span><span class="n">path</span><span class="p">?</span><span
class="n">query</span><span class="o">=</span><span class="n">bar</span>
+<div class="codehilite"><pre><span class="n">GET</span> <span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">server</span><span class="p">.</span><span class="n">com</span><span
class="o">/</span><span class="n">path</span>?<span class="n">query</span><span
class="p">=</span><span class="n">bar</span>
</pre></div>
@@ -125,29 +125,33 @@ space. There is no space between the met
URI path).</p>
<p>By default, the query string is part of the string that is matched again,
to turn this off use the option 'no-query-string', e.g.</p>
-<div class="codehilite"><pre><span class="o">...</span> <span
class="nv">@pparam</span><span class="o">=</span><span
class="n">maps</span><span class="o">.</span><span class="n">reg</span> <span
class="nv">@pparam</span><span class="o">=</span><span
class="nb">no</span><span class="o">-</span><span class="n">query</span><span
class="o">-</span><span class="n">string</span>
+<div class="codehilite"><pre><span class="p">...</span> <span
class="p">@</span><span class="n">pparam</span><span class="p">=</span><span
class="n">maps</span><span class="p">.</span><span class="n">reg</span> <span
class="p">@</span><span class="n">pparam</span><span class="p">=</span><span
class="n">no</span><span class="o">-</span><span class="n">query</span><span
class="o">-</span><span class="n">string</span>
</pre></div>
<p>Finally, you can also include the matrix parameters in the string, using the
option 'matrix-parameters', e.g.</p>
-<div class="codehilite"><pre><span class="o">...</span> <span
class="nv">@pparam</span><span class="o">=</span><span
class="n">maps</span><span class="o">.</span><span class="n">reg</span> <span
class="nv">@pparam</span><span class="o">=</span><span
class="n">matrix</span><span class="o">-</span><span class="n">parameters</span>
+<div class="codehilite"><pre><span class="p">...</span> <span
class="p">@</span><span class="n">pparam</span><span class="p">=</span><span
class="n">maps</span><span class="p">.</span><span class="n">reg</span> <span
class="p">@</span><span class="n">pparam</span><span class="p">=</span><span
class="n">matrix</span><span class="o">-</span><span class="n">parameters</span>
</pre></div>
<p>Note that the path to the plugin must be absolute, and by default it is</p>
-<div class="codehilite"><pre><span class="sr">/usr/</span><span
class="nb">local</span><span class="sr">/libexec/</span><span
class="n">trafficserver</span><span class="o">/</span><span
class="n">regex_remap</span><span class="o">.</span><span class="n">so</span>
-</pre></div>
-
-
-<p>The config file (<code>maps.reg</code> above) can be placed anywhere, but
unless you
-specify an absolute path (as above), it will default to the directory</p>
-<div class="codehilite"><pre><span class="sr">/usr/</span><span
class="nb">local</span><span class="sr">/etc/</span><span
class="n">regex_remap</span>
+<div class="codehilite"><pre><span class="o">/</span><span
class="n">usr</span><span class="o">/</span><span class="n">local</span><span
class="o">/</span><span class="n">libexec</span><span class="o">/</span><span
class="n">trafficserver</span><span class="o">/</span><span
class="n">regex_remap</span><span class="p">.</span><span class="n">so</span>
</pre></div>
+<p>The config file ('maps.reg') must be created by you:
+ $ sudo touch maps.reg</p>
+<p>This file may be given any name as long as it is referenced correctly in the
+@pparam field. This allows multiple config files to be used for different
+mapping rules.</p>
+<p>This file can be placed anywhere provided you specify an absolute path.
+If none is given, the default directory will be assumed to be:
+ /usr/local/etc/regex_remap</p>
+<p>In order for the plugin to load successfully, the config file must not be
+empty.</p>
<p>A typical regex would look like</p>
-<div class="codehilite"><pre><span class="o">^</span><span
class="sr">/(ogre.*)/mo</span><span class="n">re</span> <span
class="n">http:</span><span class="sr">//</span><span class="n">www</span><span
class="o">.</span><span class="n">ogre</span><span class="o">.</span><span
class="n">com</span><span class="sr">/$h/</span><span class="nv">$0</span><span
class="o">/</span><span class="nv">$1</span>
+<div class="codehilite"><pre>^<span class="o">/</span><span
class="p">(</span><span class="n">ogre</span><span class="o">.*</span><span
class="p">)</span><span class="o">/</span><span class="n">more</span> <span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">www</span><span class="p">.</span><span class="n">ogre</span><span
class="p">.</span><span class="n">com</span><span class="o">/</span>$<span
class="n">h</span><span class="o">/</span>$0<span class="o">/</span>$1
</pre></div>
@@ -156,39 +160,39 @@ specify an absolute path (as above), it
matched (without any of the optional configuration options). The path
will always start with a "/". Various substitution strings are allowed
on the right hand side:</p>
-<div class="codehilite"><pre><span class="nv">$0</span> <span
class="o">-</span> <span class="n">The</span> <span class="n">entire</span>
<span class="n">matched</span> <span class="n">string</span>
-<span class="nv">$1</span><span class="o">-</span><span class="mi">9</span>
<span class="o">-</span> <span class="n">Regular</span> <span
class="n">expression</span> <span class="n">groups</span> <span
class="p">(</span><span class="nv">$1</span> <span class="n">first</span> <span
class="n">group</span> <span class="n">etc</span><span class="o">.</span><span
class="p">)</span>
-<span class="nv">$h</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">original</span> <span
class="n">host</span> <span class="n">header</span> <span class="n">from</span>
<span class="n">the</span> <span class="n">request</span>
-<span class="nv">$f</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">host</span> <span class="n">as</span>
<span class="n">used</span> <span class="n">in</span> <span
class="n">the</span> <span class="s">"from"</span> <span
class="n">portion</span> <span class="n">of</span> <span class="n">the</span>
<span class="n">remap</span> <span class="n">rule</span>
-<span class="nv">$t</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">host</span> <span class="n">as</span>
<span class="n">used</span> <span class="n">in</span> <span
class="n">the</span> <span class="s">"to"</span> <span
class="n">portion</span> <span class="n">of</span> <span class="n">the</span>
<span class="n">remap</span> <span class="n">rule</span>
-<span class="nv">$p</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">original</span> <span
class="n">port</span> <span class="n">number</span>
-<span class="nv">$s</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">scheme</span> <span
class="p">(</span><span class="n">e</span><span class="o">.</span><span
class="n">g</span><span class="o">.</span> <span class="n">http</span><span
class="p">)</span> <span class="n">of</span> <span class="n">the</span> <span
class="n">request</span>
-<span class="nv">$P</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">entire</span> <span class="n">path</span>
<span class="n">of</span> <span class="n">the</span> <span
class="n">request</span>
-<span class="nv">$q</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">query</span> <span class="n">part</span>
<span class="n">of</span> <span class="n">the</span> <span
class="n">request</span>
-<span class="nv">$r</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">path</span> <span
class="n">parameters</span> <span class="n">of</span> <span
class="n">the</span> <span class="n">request</span> <span
class="p">(</span><span class="ow">not</span> <span
class="n">implemented</span> <span class="n">yet</span><span class="p">)</span>
-<span class="nv">$c</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">cookie</span> <span
class="n">string</span> <span class="n">from</span> <span class="n">the</span>
<span class="n">request</span>
-<span class="nv">$i</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">client</span> <span class="n">IP</span>
<span class="k">for</span> <span class="n">this</span> <span
class="n">request</span>
+<div class="codehilite"><pre>$0 <span class="o">-</span> <span
class="n">The</span> <span class="n">entire</span> <span
class="n">matched</span> <span class="n">string</span>
+$1<span class="o">-</span>9 <span class="o">-</span> <span
class="n">Regular</span> <span class="n">expression</span> <span
class="n">groups</span> <span class="p">(</span>$1 <span class="n">first</span>
<span class="n">group</span> <span class="n">etc</span><span class="p">.)</span>
+$<span class="n">h</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">original</span> <span
class="n">host</span> <span class="n">header</span> <span class="n">from</span>
<span class="n">the</span> <span class="n">request</span>
+$<span class="n">f</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">host</span> <span class="n">as</span>
<span class="n">used</span> <span class="n">in</span> <span
class="n">the</span> "<span class="n">from</span>" <span
class="n">portion</span> <span class="n">of</span> <span class="n">the</span>
<span class="n">remap</span> <span class="n">rule</span>
+$<span class="n">t</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">host</span> <span class="n">as</span>
<span class="n">used</span> <span class="n">in</span> <span
class="n">the</span> "<span class="n">to</span>" <span
class="n">portion</span> <span class="n">of</span> <span class="n">the</span>
<span class="n">remap</span> <span class="n">rule</span>
+$<span class="n">p</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">original</span> <span
class="n">port</span> <span class="n">number</span>
+$<span class="n">s</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">scheme</span> <span
class="p">(</span><span class="n">e</span><span class="p">.</span><span
class="n">g</span><span class="p">.</span> <span class="n">http</span><span
class="p">)</span> <span class="n">of</span> <span class="n">the</span> <span
class="n">request</span>
+$<span class="n">P</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">entire</span> <span class="n">path</span>
<span class="n">of</span> <span class="n">the</span> <span
class="n">request</span>
+$<span class="n">q</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">query</span> <span class="n">part</span>
<span class="n">of</span> <span class="n">the</span> <span
class="n">request</span>
+$<span class="n">r</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">path</span> <span
class="n">parameters</span> <span class="n">of</span> <span
class="n">the</span> <span class="n">request</span> <span
class="p">(</span><span class="n">not</span> <span class="n">implemented</span>
<span class="n">yet</span><span class="p">)</span>
+$<span class="n">c</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">cookie</span> <span
class="n">string</span> <span class="n">from</span> <span class="n">the</span>
<span class="n">request</span>
+$<span class="nb">i</span> <span class="o">-</span> <span
class="n">The</span> <span class="n">client</span> <span class="n">IP</span>
<span class="k">for</span> <span class="n">this</span> <span
class="n">request</span>
</pre></div>
<p>You can also provide options, similar to how you configure your
remap.config. The following options are available</p>
-<div class="codehilite"><pre><span class="nv">@status</span><span
class="o">=</span><span class="sr"><nnn></span> <span
class="o">-</span> <span class="n">Force</span> <span class="n">the</span>
<span class="n">response</span> <span class="n">code</span> <span
class="n">to</span> <span class="sr"><nnn></span>
-<span class="nv">@active_timeout</span><span class="o">=</span><span
class="sr"><nnn></span> <span class="o">-</span> <span
class="n">Active</span> <span class="n">timeout</span> <span
class="p">(</span><span class="n">in</span> <span class="n">ms</span><span
class="p">)</span>
-<span class="nv">@no_activity_timeout</span><span class="o">=</span><span
class="sr"><nnn></span> <span class="o">-</span> <span
class="n">No</span> <span class="n">activity</span> <span
class="n">timeout</span> <span class="p">(</span><span class="n">in</span>
<span class="n">ms</span><span class="p">)</span>
-<span class="nv">@connect_timeout</span><span class="o">=</span><span
class="sr"><nnn></span> <span class="o">-</span> <span
class="n">Connect</span> <span class="n">timeouts</span> <span
class="p">(</span><span class="n">in</span> <span class="n">ms</span><span
class="p">)</span>
-<span class="nv">@dns_timeout</span><span class="o">=</span><span
class="sr"><nnn></span> <span class="o">-</span> <span
class="n">Connect</span> <span class="n">timeouts</span> <span
class="p">(</span><span class="n">in</span> <span class="n">ms</span><span
class="p">)</span>
+<div class="codehilite"><pre><span class="p">@</span><span
class="n">status</span><span class="p">=</span><span class="o"><</span><span
class="n">nnn</span><span class="o">></span> <span
class="o">-</span> <span class="n">Force</span> <span class="n">the</span>
<span class="n">response</span> <span class="n">code</span> <span
class="n">to</span> <span class="o"><</span><span class="n">nnn</span><span
class="o">></span>
+<span class="p">@</span><span class="n">active_timeout</span><span
class="p">=</span><span class="o"><</span><span class="n">nnn</span><span
class="o">></span> <span class="o">-</span> <span
class="n">Active</span> <span class="n">timeout</span> <span
class="p">(</span><span class="n">in</span> <span class="n">ms</span><span
class="p">)</span>
+<span class="p">@</span><span class="n">no_activity_timeout</span><span
class="p">=</span><span class="o"><</span><span class="n">nnn</span><span
class="o">></span> <span class="o">-</span> <span class="n">No</span> <span
class="n">activity</span> <span class="n">timeout</span> <span
class="p">(</span><span class="n">in</span> <span class="n">ms</span><span
class="p">)</span>
+<span class="p">@</span><span class="n">connect_timeout</span><span
class="p">=</span><span class="o"><</span><span class="n">nnn</span><span
class="o">></span> <span class="o">-</span> <span
class="n">Connect</span> <span class="n">timeouts</span> <span
class="p">(</span><span class="n">in</span> <span class="n">ms</span><span
class="p">)</span>
+<span class="p">@</span><span class="n">dns_timeout</span><span
class="p">=</span><span class="o"><</span><span class="n">nnn</span><span
class="o">></span> <span class="o">-</span> <span
class="n">Connect</span> <span class="n">timeouts</span> <span
class="p">(</span><span class="n">in</span> <span class="n">ms</span><span
class="p">)</span>
</pre></div>
<p>For example, this can be useful to force a particular response for some
URLs, e.g.</p>
-<div class="codehilite"><pre><span class="o">^</span><span
class="sr">/(ogre.*)/</span><span class="n">bad</span> <span
class="n">http:</span><span class="sr">//</span><span class="n">www</span><span
class="o">.</span><span class="n">examle</span><span class="o">.</span><span
class="n">com</span><span class="o">/</span> <span
class="nv">@status</span><span class="o">=</span><span class="mi">404</span>
+<div class="codehilite"><pre>^<span class="o">/</span><span
class="p">(</span><span class="n">ogre</span><span class="o">.*</span><span
class="p">)</span><span class="o">/</span><span class="n">bad</span> <span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">www</span><span class="p">.</span><span class="n">examle</span><span
class="p">.</span><span class="n">com</span><span class="o">/</span> <span
class="p">@</span><span class="n">status</span><span class="p">=</span>404
</pre></div>
<p>Or, to force a 302 redirect</p>
-<div class="codehilite"><pre><span class="o">^</span><span
class="sr">/oldurl/</span><span class="p">(</span><span
class="o">.*</span><span class="p">)</span><span class="nv">$</span> <span
class="nv">http:</span><span class="sr">//</span><span
class="n">news</span><span class="o">.</span><span
class="n">example</span><span class="o">.</span><span class="n">com</span><span
class="sr">/new/</span><span class="nv">$1</span> <span
class="nv">@status</span><span class="o">=</span><span class="mi">302</span>
+<div class="codehilite"><pre>^<span class="o">/</span><span
class="n">oldurl</span><span class="o">/</span><span class="p">(</span><span
class="o">.*</span><span class="p">)</span>$ <span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">news</span><span class="p">.</span><span
class="n">example</span><span class="p">.</span><span class="n">com</span><span
class="o">/</span><span class="n">new</span><span class="o">/</span>$1 <span
class="p">@</span><span class="n">status</span><span class="p">=</span>302
</pre></div>