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><module>mod_rewrite</module> provides a way to modify incoming
31 URL requests, dynamically, based on <a href="intro.html#regex">regular
32 expression</a> rules. This allows you to map arbitrary URLs onto
33 your internal URL structure in any way you like.</p>
35 <p>It supports an unlimited number of rules and an
36 unlimited number of attached rule conditions for each rule to
37 provide a really flexible and powerful URL manipulation
38 mechanism. The URL manipulations can depend on various tests:
39 server variables, environment variables, HTTP
40 headers, time stamps, external database lookups, and various other
41 external programs or handlers, can be used to achieve granular URL
44 <p>Rewrite rules can operate on the full URLs, including the path-info
45 and query string portions, and may be used in per-server context
46 (<code>httpd.conf</code>), per-virtualhost context (<directive
47 type="section" module="core">VirtualHost</directive> blocks), or
48 per-directory context (<code>.htaccess</code> files and <directive
49 type="section" module="core">Directory</directive> blocks). The
50 rewritten result can lead to further rules, internal
51 sub-processing, external request redirection, or proxy
52 passthrough, depending on what <a href="flags.html">flags</a> you
53 attach to the rules.</p>
55 <p>Since mod_rewrite is so powerful, it can indeed be rather
56 complex. This document supplements the <a
57 href="../mod/mod_rewrite.html">reference documentation</a>, and
58 attempts to allay some of that complexity, and provide highly
59 annotated examples of common scenarios that you may handle with
60 mod_rewrite. But we also attempt to show you when you should not
61 use mod_rewrite, and use other standard Apache features instead,
62 thus avoiding this unnecessary complexity.</p>
66 <li><a href="../mod/mod_rewrite.html">mod_rewrite reference
67 documentation</a></li>
68 <li><a href="intro.html">Introduction to regular expressions and mod_rewrite</a></li>
69 <li><a href="flags.html">RewriteRule Flags</a></li>
70 <li><a href="rewritemap.html">Using RewriteMap</a></li>
71 <li><a href="avoid.html">When <strong>NOT</strong> to use mod_rewrite</a></li>
72 <li><a href="remapping.html">Using mod_rewrite for redirection and remapping of URLs</a></li>
73 <li><a href="access.html">Using mod_rewrite to control access</a></li>
74 <li><a href="vhosts.html">Dynamic virtual hosts with mod_rewrite</a></li>
75 <li><a href="proxy.html">Dynamic proxying with mod_rewrite</a></li>
76 <li><a href="advanced.html">Advanced techniques</a></li>
77 <li><a href="tech.html">Technical details</a></li>
81 <seealso><a href="../mod/mod_rewrite.html">mod_rewrite reference
82 documentation</a></seealso>
83 <seealso><a href="../urlmapping.html">Mapping URLs to the Filesystem</a></seealso>
84 <seealso><a href="http://wiki.apache.org/httpd/Rewrite">mod_rewrite
86 <seealso><a href="../glossary.html">Glossary</a></seealso>