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>``The great thing about mod_rewrite is it gives you
31 all the configurability and flexibility of Sendmail.
32 The downside to mod_rewrite is that it gives you all
33 the configurability and flexibility of Sendmail.''</p>
35 <p class="cite">-- <cite>Brian Behlendorf</cite><br />
41 <p>``Despite the tons of examples and docs,
42 mod_rewrite is voodoo. Damned cool voodoo, but still
45 <p class="cite">-- <cite>Brian Moore</cite><br />
50 <p>Welcome to mod_rewrite, the Swiss Army Knife of URL
53 <p>This module uses a rule-based rewriting engine (based on a
54 regular-expression parser) to rewrite requested URLs on the
55 fly. It supports an unlimited number of rules and an
56 unlimited number of attached rule conditions for each rule to
57 provide a really flexible and powerful URL manipulation
58 mechanism. The URL manipulations can depend on various tests,
59 for instance server variables, environment variables, HTTP
60 headers, time stamps and even external database lookups in
61 various formats can be used to achieve granular URL
64 <p>This module operates on the full URLs (including the
65 path-info part) both in per-server context
66 (<code>httpd.conf</code>) and per-directory context
67 (<code>.htaccess</code> files and <code><Directory></code>
68 blocks) and can even generate query-string
69 parts on result. The rewritten result can lead to internal
70 sub-processing, external request redirection or even to an
71 internal proxy throughput.</p>
73 <p>But all this functionality and flexibility has its
74 drawback: complexity. So don't expect to understand this
75 entire module in just one day.</p>
79 <seealso><a href="../mod/mod_rewrite.html">mod_rewrite reference
80 documentation</a></seealso>
81 <seealso><a href="rewrite_intro.html">Introduction</a></seealso>
82 <seealso><a href="rewrite_tech.html">Technical details</a></seealso>
83 <seealso><a href="rewrite_guide.html">Rewrite Guide - useful examples</a></seealso>
84 <seealso><a href="rewrite_guide_advanced.html">Advanced Rewrite Guide -
85 advanced useful examples</a></seealso>
87 <section id="documentation"><title>Documentation</title>
89 <li><a href="../mod/mod_rewrite.html">mod_rewrite reference
90 documentation</a></li>
91 <li><a href="rewrite_intro.html">Introduction</a></li>
92 <li><a href="rewrite_tech.html">Technical details</a></li>
93 <li><a href="rewrite_guide.html">Rewrite Guide - useful examples</a></li>
94 <li><a href="rewrite_guide_advanced.html">Advanced Rewrite Guide - more
95 useful examples</a></li>
96 <li><a href="../glossary.html">Glossary</a></li>