index.xml revision 4eb5e97c7a147352e1017b0114d2719d5f67cea9
22a41ae508535e87c3c2270202ae78de6ac4672crbowen<?xml version='1.0' encoding='UTF-8' ?>
22a41ae508535e87c3c2270202ae78de6ac4672crbowen<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
22a41ae508535e87c3c2270202ae78de6ac4672crbowen<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
22a41ae508535e87c3c2270202ae78de6ac4672crbowen<!-- $LastChangedRevision$ -->
22a41ae508535e87c3c2270202ae78de6ac4672crbowen
22a41ae508535e87c3c2270202ae78de6ac4672crbowen<!--
22a41ae508535e87c3c2270202ae78de6ac4672crbowen Copyright 2002-2005 The Apache Software Foundation or its licensors, as
22a41ae508535e87c3c2270202ae78de6ac4672crbowen applicable.
22a41ae508535e87c3c2270202ae78de6ac4672crbowen
22a41ae508535e87c3c2270202ae78de6ac4672crbowen Licensed under the Apache License, Version 2.0 (the "License");
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen you may not use this file except in compliance with the License.
2e545ce2450a9953665f701bb05350f0d3f26275nd You may obtain a copy of the License at
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen http://www.apache.org/licenses/LICENSE-2.0
22a41ae508535e87c3c2270202ae78de6ac4672crbowen
4eb5e97c7a147352e1017b0114d2719d5f67cea9rbowen Unless required by applicable law or agreed to in writing, software
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen distributed under the License is distributed on an "AS IS" BASIS,
3f08db06526d6901aa08c110b5bc7dde6bc39905nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22a41ae508535e87c3c2270202ae78de6ac4672crbowen See the License for the specific language governing permissions and
22a41ae508535e87c3c2270202ae78de6ac4672crbowen limitations under the License.
22a41ae508535e87c3c2270202ae78de6ac4672crbowen-->
3f08db06526d6901aa08c110b5bc7dde6bc39905nd
22a41ae508535e87c3c2270202ae78de6ac4672crbowen<manualpage metafile="index.xml.meta">
f3ec420152ca921e4c1ce77782f51b53f659018dnd<parentdocument href="../"/>
bd2feb86ee6d8c91ecd992138ceb96a7069a5578gryzor
d474d8ef01ec5c2a09341cd148851ed383c3287crbowen <title>Apache mod_rewrite</title>
d474d8ef01ec5c2a09341cd148851ed383c3287crbowen
22a41ae508535e87c3c2270202ae78de6ac4672crbowen<summary>
22a41ae508535e87c3c2270202ae78de6ac4672crbowen <blockquote>
22a41ae508535e87c3c2270202ae78de6ac4672crbowen <p>``The great thing about mod_rewrite is it gives you
ef96a16f2c3ed821e516840775560b4895b26d3drbowen all the configurability and flexibility of Sendmail.
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf The downside to mod_rewrite is that it gives you all
ef96a16f2c3ed821e516840775560b4895b26d3drbowen the configurability and flexibility of Sendmail.''</p>
ef96a16f2c3ed821e516840775560b4895b26d3drbowen
ef96a16f2c3ed821e516840775560b4895b26d3drbowen <p class="cite">-- <cite>Brian Behlendorf</cite><br />
ef96a16f2c3ed821e516840775560b4895b26d3drbowen Apache Group</p>
22a41ae508535e87c3c2270202ae78de6ac4672crbowen
22a41ae508535e87c3c2270202ae78de6ac4672crbowen </blockquote>
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen <blockquote>
ef96a16f2c3ed821e516840775560b4895b26d3drbowen <p>`` Despite the tons of examples and docs,
ef96a16f2c3ed821e516840775560b4895b26d3drbowen mod_rewrite is voodoo. Damned cool voodoo, but still
22a41ae508535e87c3c2270202ae78de6ac4672crbowen voodoo. ''</p>
22a41ae508535e87c3c2270202ae78de6ac4672crbowen
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen <p class="cite">-- <cite>Brian Moore</cite><br />
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen bem@news.cmc.net</p>
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen </blockquote>
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen <p>Welcome to mod_rewrite, the Swiss Army Knife of URL
ef96a16f2c3ed821e516840775560b4895b26d3drbowen manipulation!</p>
ef96a16f2c3ed821e516840775560b4895b26d3drbowen
22a41ae508535e87c3c2270202ae78de6ac4672crbowen <p>This module uses a rule-based rewriting engine (based on a
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen regular-expression parser) to rewrite requested URLs on the
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen fly. It supports an unlimited number of rules and an
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen unlimited number of attached rule conditions for each rule to
522bde10e5e1e579697bf49d992d163b7d54f3b0humbedooh provide a really flexible and powerful URL manipulation
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen mechanism. The URL manipulations can depend on various tests,
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen for instance server variables, environment variables, HTTP
0b1f1f5b70f1d4df3b6a6eb4c92f6869719dc711rbowen headers, time stamps and even external database lookups in
22a41ae508535e87c3c2270202ae78de6ac4672crbowen various formats can be used to achieve granular URL
1093a264c81aa1041581ab059905fb8f7cdfc5e2rbowen matching.</p>
22a41ae508535e87c3c2270202ae78de6ac4672crbowen
f3f7fbd152943fb15146b438ec8a4c39c404a2fbrbowen <p>This module operates on the full URLs (including the
f3f7fbd152943fb15146b438ec8a4c39c404a2fbrbowen path-info part) both in per-server context
5f8a7d39ae7cbbdd9738d1d8ae7ee0cb35671932rbowen (<code>httpd.conf</code>) and per-directory context
5f8a7d39ae7cbbdd9738d1d8ae7ee0cb35671932rbowen (<code>.htaccess</code>) and can even generate query-string
06ed4d71350dacf8c4bedec7ac850eeb9a84637arbowen parts on result. The rewritten result can lead to internal
5f8a7d39ae7cbbdd9738d1d8ae7ee0cb35671932rbowen sub-processing, external request redirection or even to an
5f8a7d39ae7cbbdd9738d1d8ae7ee0cb35671932rbowen internal proxy throughput.</p>
3723c5ef4beec0403b4daa6c64fc0a8f53541018rbowen
53abc235688d883cfa15cdfec354ba03128f357arbowen <p>But all this functionality and flexibility has its
5f8a7d39ae7cbbdd9738d1d8ae7ee0cb35671932rbowen drawback: complexity. So don't expect to understand this
4e57a127490182e5cadcf0c696ae0a314cc81a8arbowen entire module in just one day.</p>
6ac307024b9ac1219869549636eb03ef6b95a930rbowen
22a41ae508535e87c3c2270202ae78de6ac4672crbowen</summary>
1093a264c81aa1041581ab059905fb8f7cdfc5e2rbowen
1093a264c81aa1041581ab059905fb8f7cdfc5e2rbowen<seealso><a href="/mod/mod_rewrite.html">mod_rewrite reference
1093a264c81aa1041581ab059905fb8f7cdfc5e2rbowendocumentation</a></seealso>
1093a264c81aa1041581ab059905fb8f7cdfc5e2rbowen<seealso><a href="rewrite_intro.html">Introduction</a></seealso>
1093a264c81aa1041581ab059905fb8f7cdfc5e2rbowen<seealso><a href="rewrite_tech.html">Technical details</a></seealso>
22a41ae508535e87c3c2270202ae78de6ac4672crbowen<seealso><a href="rewrite_guide.html">Practical solutions to common
f3ec420152ca921e4c1ce77782f51b53f659018dndproblems</a></seealso>
bd2feb86ee6d8c91ecd992138ceb96a7069a5578gryzor<seealso><a href="rewrite_guide_advanced.html">Practical solutions to
d474d8ef01ec5c2a09341cd148851ed383c3287crbowenadvanced problems</a></seealso>
d474d8ef01ec5c2a09341cd148851ed383c3287crbowen
6dfd50de0ccc3b37ff6eee76bbe7f0a51211a534humbedooh<section id="documentation"><title>Documentation</title>
07dc96d063d49299da433f84b5c5681da9bbdf68rbowen<ul>
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen<li><a href="/mod/mod_rewrite.html">mod_rewrite reference
0d0ba3a410038e179b695446bb149cce6264e0abnddocumentation</a></li>
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd<li><a href="rewrite_intro.html">Introduction</a></li>
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd<li><a href="rewrite_tech.html">Technical details</a></li>
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd<li><a href="rewrite_guide.html">Practical solutions to common
22a41ae508535e87c3c2270202ae78de6ac4672crbowenproblems</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>