1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
4 <!-- $LastChangedRevision$ -->
7 Licensed to the Apache Software Foundation (ASF) under one or more
8 contributor license agreements. See the NOTICE file distributed with
9 this work for additional information regarding copyright ownership.
10 The ASF licenses this file to You under the Apache License, Version 2.0
11 (the "License"); you may not use this file except in compliance with
12 the License. You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <manualpage metafile="index.xml.meta">
24 <parentdocument href="../"/>
26 <title>Apache mod_rewrite</title>
30 <p>mod_rewrite uses a rule-based rewriting engine (based on a
31 regular-expression parser) to rewrite requested URLs on the
32 fly. It supports an unlimited number of rules and an
33 unlimited number of attached rule conditions for each rule to
34 provide a really flexible and powerful URL manipulation
35 mechanism. The URL manipulations can depend on various tests:
36 server variables, environment variables, HTTP
37 headers, time stamps external database lookups, and various other
38 external processes or handlers, can be used to achieve granular URL
41 <p>Rewrite rules can operate on the full URLs, including the path-info
42 and query string portions, and may be used in per-server context
43 (<code>httpd.conf</code>), per-virtualhost context (<directive
44 type="section" module="core">VirtualHost</directive> blocks), or
45 per-directory context (<code>.htaccess</code> files and <directive
46 type="section" module="core">Directory</directive> blocks). The
47 rewritten result can lead to further rules, internal
48 sub-processing, external request redirection, or proxy
51 <p>Since mod_rewrite is so powerful, it can indeed be rather
52 complex. This document supplements the <a
53 href="../mod/mod_rewrite.html">reference documentation</a>, and
54 attempts to allay some of that complexity, and provide highly
55 annoted examples of common scenarios that you may handle with
56 mod_rewrite. But we also attempt to show you when you should not
57 use mod_rewrite, and use other standard Apache features instead,
58 thus avoiding this unnecessary complexity.</p>
62 <li><a href="../mod/mod_rewrite.html">mod_rewrite reference
63 documentation</a></li>
64 <li><a href="intro.html">Introduction to regular expressions and
66 <li><a href="rewrite_guide.html">Rewrite Guide - useful examples</a></li>
67 <li><a href="remapping.html">Using mod_rewrite for redirection and
68 remapping of URLs</a></li>
69 <li><a href="access.html">Using mod_rewrite to control access</a></li>
70 <li><a href="advanced.html">Advanced techniques and tricks</a></li>
71 <li><a href="avoid.html">When <strong>NOT</strong> to use
73 <li><a href="flags.html">Flags</a></li>
74 <li><a href="tech.html">Technical details</a></li>
78 <seealso><a href="../mod/mod_rewrite.html">mod_rewrite reference
79 documentation</a></seealso>
80 <seealso><a href="../urlmapping.html">Mapping URLs to the Filesystem</a></seealso>
81 <seealso><a href="http://wiki.apache.org/httpd/Rewrite">mod_rewrite
83 <seealso><a href="../glossary.html">Glossary</a></seealso>