summaryrefslogtreecommitdiff
path: root/docs/manual/rewrite/avoid.xml
diff options
context:
space:
mode:
authorRich Bowen <rbowen@apache.org>2010-04-19 11:53:38 +0000
committerRich Bowen <rbowen@apache.org>2010-04-19 11:53:38 +0000
commit924fbe62905bd8888c90b5f7c2a0e6ec6de1cc34 (patch)
tree411a87a4ba8df5ac9ad9862116f16f49a27697a7 /docs/manual/rewrite/avoid.xml
parent74845919271d078d3b913b21e1908deb77f3699a (diff)
downloadhttpd-924fbe62905bd8888c90b5f7c2a0e6ec6de1cc34.tar.gz
starting back on some of the things I want to add to the rewrite docs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@935537 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/rewrite/avoid.xml')
-rw-r--r--docs/manual/rewrite/avoid.xml88
1 files changed, 83 insertions, 5 deletions
diff --git a/docs/manual/rewrite/avoid.xml b/docs/manual/rewrite/avoid.xml
index eb620a38b2..db2bb25369 100644
--- a/docs/manual/rewrite/avoid.xml
+++ b/docs/manual/rewrite/avoid.xml
@@ -43,6 +43,8 @@ particular server configuration, so it's important that you understand
them, rather than merely cutting and pasting the examples into your
configuration.</p>
+<note type="warning">This document is a work in progress.</note>
+
</summary>
<seealso><a href="../mod/mod_rewrite.html">Module documentation</a></seealso>
<seealso><a href="intro.html">mod_rewrite introduction</a></seealso>
@@ -53,12 +55,88 @@ configuration.</p>
<seealso><a href="advanced.html">Advanced techniques and tricks</a></seealso>
<!--<seealso><a href="avoid.html">When not to use mod_rewrite</a></seealso>-->
-<section id="coming">
+<section id="redirect">
+<title>Simple Redirection</title>
+
+<p><module>mod_alias</module> provides the <directive
+module="mod_alias">Redirect</directive> and <directive
+module="mod_alias">RedirectMatch</directive> directives, which provide a
+means to redirect one URL to another. This kind of simple redirection of
+one URL, or a class of URLs, to somewhere else, should be accomplished
+using these directives rather than <directive
+module="mod_rewrite">RewriteRule</directive>. <code>RedirectMatch</code>
+allows you to include a regular expression in your redirection criteria,
+providing many of the benefits of using <code>RewriteRule</code>.</p>
+
+<p>A common use for <code>RewriteRule</code> is to redirect an entire
+class of URLs. For example, all URLs in the <code>/one</code> directory
+must be redirected to <code>http://one.example.com/</code>, or perhaps
+all <code>http</code> requests must be redirected to
+<code>https</code>.</p>
+
+<p>These situations are better handled by the <code>Redirect</code>
+directive. Remember that <code>Redirect</code> preserves path
+information. That is to say, a redirect for a URL <code>/one</code> will
+also redirect all URLs under that, such as <code>/one/two.html</code>
+and <code>/one/three/four.html</code>.</p>
+
+<p>To redirect URLs under <code>/one</code> to
+<code>http://one.example.com</code>, do the following:</p>
+
+<example>
+Redirect /one/ http://one.example.com/
+</example>
+
+<p>To redirect <code>http</code> URLs to <code>https</code>, do the
+following:</p>
+
+<example>
+&lt;VirtualHost *:80&gt;
+ServerName www.example.com<br />
+Redirect / https://www.example.com/<br />
+&lt;/VirtualHost &gt;
+<br />
+&lt;VirtualHost *:443&gt;
+ServerName www.example.com<br />
+<br />
+# ... SSL configuration goes here<br />
+&lt;/VirtualHost &gt;
+</example>
+
+<p>The use of <code>RewriteRule</code> to perform this task may be
+appropriate if there are other <code>RewriteRule</code> directives in
+the same scope. This is because, when there are <code>Redirect</code>
+and <code>RewriteRule</code> directives in the same scope, the
+<code>RewriteRule</code> directives will run first, regardless of the
+order of appearance in the configuration file.</p>
+
+<p>In the case of the <em>http-to-https</em> redirection, the use of
+<code>RewriteRule</code> would be appropriate if you don't have access
+to the main server configuration file, and are obliged to perform this
+task in a <code>.htaccess</code> file instead.</p>
+
+</section>
+
+<section id="alias"><title>URL Aliasing</title>
+<p>Using Alias</p>
+</section>
+
+<section id="vhosts"><title>Virtual Hosting</title>
+<p>Virtual Hosts</p>
+</section>
+
+<section id="proxy"><title>Simple Proxying</title>
+<p>ProxyPass</p>
+</section>
+
+<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>
-<title>Coming Soon ...</title>
-<p>
-This document currently being written.
-</p>
</section>
</manualpage>
+