<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- $LastChangedRevision$ -->

<!--
 Copyright 2002-2005 The Apache Software Foundation or its licensors, as
 applicable.

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<manualpage metafile="index.xml.meta">
<parentdocument href="../"/>

  <title>Apache mod_rewrite</title>

<summary>
      <blockquote>
            <p>``The great thing about mod_rewrite is it gives you
            all the configurability and flexibility of Sendmail.
            The downside to mod_rewrite is that it gives you all
            the configurability and flexibility of Sendmail.''</p>

            <p class="cite">-- <cite>Brian Behlendorf</cite><br />
            Apache Group</p>

      </blockquote>

      <blockquote>
            <p>`` Despite the tons of examples and docs,
            mod_rewrite is voodoo. Damned cool voodoo, but still
            voodoo.''</p>

            <p class="cite">-- <cite>Brian Moore</cite><br />
            bem@news.cmc.net</p>

      </blockquote>

      <p>Welcome to mod_rewrite, the Swiss Army Knife of URL
      manipulation!</p>

      <p>This module uses a rule-based rewriting engine (based on a
      regular-expression parser) to rewrite requested URLs on the
      fly. It supports an unlimited number of rules and an
      unlimited number of attached rule conditions for each rule to
      provide a really flexible and powerful URL manipulation
      mechanism. The URL manipulations can depend on various tests,
      for instance server variables, environment variables, HTTP
      headers, time stamps and even external database lookups in
      various formats can be used to achieve granular URL
      matching.</p>

      <p>This module operates on the full URLs (including the
      path-info part) both in per-server context
      (<code>httpd.conf</code>) and per-directory context
      (<code>.htaccess</code>) and can even generate query-string
      parts on result. The rewritten result can lead to internal
      sub-processing, external request redirection or even to an
      internal proxy throughput.</p>

      <p>But all this functionality and flexibility has its
      drawback: complexity. So don't expect to understand this
      entire module in just one day.</p>

</summary>

<seealso><a href="../mod/mod_rewrite.html">mod_rewrite reference
documentation</a></seealso>
<seealso><a href="rewrite_intro.html">Introduction</a></seealso>
<seealso><a href="rewrite_tech.html">Technical details</a></seealso>
<seealso><a href="rewrite_guide.html">Practical solutions to common
problems</a></seealso>
<seealso><a href="rewrite_guide_advanced.html">Practical solutions to
advanced problems</a></seealso>

<section id="documentation"><title>Documentation</title>
<ul>
<li><a href="../mod/mod_rewrite.html">mod_rewrite reference
documentation</a></li>
<li><a href="rewrite_intro.html">Introduction</a></li>
<li><a href="rewrite_tech.html">Technical details</a></li>
<li><a href="rewrite_guide.html">Practical solutions to common
problems</a></li>
<li><a href="rewrite_guide_advanced.html">Practical solutions to
advanced problems</a></li>
<li><a href="../glossary.html">Glossary</a></li>
</ul>
</section>

</manualpage>


