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

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You 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>

    <p><module>mod_rewrite</module> provides a way to modify incoming
    URL requests, dynamically, based on <a href="intro.html#regex">regular
    expression</a> rules. This allows you to map arbitrary URLs onto
    your internal URL structure in any way you like.</p>

      <p>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:
      server variables, environment variables, HTTP
      headers, time stamps, external database lookups, and various other
      external programs or handlers, can be used to achieve granular URL
      matching.</p>

      <p>Rewrite rules can operate on the full URLs, including the path-info
      and query string portions, and may be used in per-server context
      (<code>httpd.conf</code>), per-virtualhost context (<directive
      type="section" module="core">VirtualHost</directive> blocks), or
      per-directory context (<code>.htaccess</code> files and <directive
      type="section" module="core">Directory</directive> blocks). The
      rewritten result can lead to further rules, internal
      sub-processing, external request redirection, or proxy
      passthrough, depending on what <a href="flags.html">flags</a> you
      attach to the rules.</p>

      <p>Since mod_rewrite is so powerful, it can indeed be rather
      complex. This document supplements the <a
      href="../mod/mod_rewrite.html">reference documentation</a>, and
      attempts to allay some of that complexity, and provide highly
      annotated examples of common scenarios that you may handle with
      mod_rewrite. But we also attempt to show you when you should not
      use mod_rewrite, and use other standard Apache features instead,
      thus avoiding this unnecessary complexity.</p>


<ul>
<li><a href="../mod/mod_rewrite.html">mod_rewrite reference
documentation</a></li>
<li><a href="intro.html">Introduction to regular expressions and mod_rewrite</a></li>
<li><a href="remapping.html">Using mod_rewrite for redirection and remapping of URLs</a></li>
<li><a href="access.html">Using mod_rewrite to control access</a></li>
<li><a href="vhosts.html">Dynamic virtual hosts with mod_rewrite</a></li>
<li><a href="proxy.html">Dynamic proxying with mod_rewrite</a></li>
<li><a href="rewritemap.html">Using RewriteMap</a></li>
<li><a href="advanced.html">Advanced techniques</a></li>
<li><a href="avoid.html">When <strong>NOT</strong> to use mod_rewrite</a></li>
<li><a href="flags.html">RewriteRule Flags</a></li>
<li><a href="tech.html">Technical details</a></li>
</ul>
</summary>

<seealso><a href="../mod/mod_rewrite.html">mod_rewrite reference
documentation</a></seealso>
<seealso><a href="../urlmapping.html">Mapping URLs to the Filesystem</a></seealso>
<seealso><a href="http://wiki.apache.org/httpd/Rewrite">mod_rewrite
wiki</a></seealso>
<seealso><a href="../glossary.html">Glossary</a></seealso>


</manualpage>


