]> granicus.if.org Git - apache/commitdiff
Introduce <If> as an alternative to mod_rewrite in the "avoiding
authorRich Bowen <rbowen@apache.org>
Thu, 28 Oct 2010 17:31:59 +0000 (17:31 +0000)
committerRich Bowen <rbowen@apache.org>
Thu, 28 Oct 2010 17:31:59 +0000 (17:31 +0000)
mod_rewrite" document.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1028397 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/rewrite/avoid.html.en
docs/manual/rewrite/avoid.xml

index e7bda2a0b2846371bbd9f4bd99e76702d56048d1..8916ba4ec69b97cc66f22dcf106e872ccc7d81b9 100644 (file)
@@ -194,11 +194,28 @@ accomplish.</p>
 <div class="section">
 <h2><a name="setenv" id="setenv">Environment Variable Testing</a></h2>
 
-<div class="note">Parts of this section are applicable only to Apache HTTP 
-Server 2.3 and later.</div>
-
 <p>Using SetEnvIf and &lt;If&gt; (2.3 and later.)</p>
 
+<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> is frequently used to take a particular
+action based on the presence or absense of a particular environment
+variable or request header. This can be done more efficiently using the
+<code class="directive"><a href="../mod/core.html#if">&lt;If&gt;</a></code>.</p>
+
+<p>Consider, for example, the common scenario where
+<code class="directive">RewriteRule</code> is used to enforce a canonical
+hostname, such as <code>www.example.com</code> instead of
+<code>example.com</code>. This can be done using the <code class="directive"><a href="../mod/core.html#if">&lt;If&gt;</a></code> direct, as shown here:</p>
+
+<div class="example"><p><code>
+&lt;If "$req{Host} = 'example.com'"&gt;<br />
+RedirectMatch (.*) http://www.example.com$1
+&lt;/If&gt;
+</code></p></div>
+
+<p>This technique can be used to take actions based on any request
+header, response header, or environment variable, replacing
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> in many common scenarios.</p>
+
 </div></div>
 <div class="bottomlang">
 <p><span>Available Languages: </span><a href="../en/rewrite/avoid.html" title="English">&nbsp;en&nbsp;</a></p>
index 9e438b8a16b148615fde3c7fa0108fbba4a7abe6..f7b4e9dd0e5b88760c942960faa223f16f9978f0 100644 (file)
@@ -208,11 +208,29 @@ accomplish.</p>
 
 <section id="setenv"><title>Environment Variable Testing</title>
 
-<note type="note">Parts of this section are applicable only to Apache HTTP 
-Server 2.3 and later.</note>
-
 <p>Using SetEnvIf and &lt;If&gt; (2.3 and later.)</p>
 
+<p><module>mod_rewrite</module> is frequently used to take a particular
+action based on the presence or absense of a particular environment
+variable or request header. This can be done more efficiently using the
+<directive module="core" type="section">If</directive>.</p>
+
+<p>Consider, for example, the common scenario where
+<directive>RewriteRule</directive> is used to enforce a canonical
+hostname, such as <code>www.example.com</code> instead of
+<code>example.com</code>. This can be done using the <directive
+module="core" type="section">If</directive> direct, as shown here:</p>
+
+<example>
+&lt;If "$req{Host} = 'example.com'"&gt;<br />
+RedirectMatch (.*) http://www.example.com$1
+&lt;/If&gt;
+</example>
+
+<p>This technique can be used to take actions based on any request
+header, response header, or environment variable, replacing
+<module>mod_rewrite</module> in many common scenarios.</p>
+
 </section>
 
 </manualpage>