10705fbc225dcf590c9ba24a4f04de221358060arbowen<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
10705fbc225dcf590c9ba24a4f04de221358060arbowen XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10705fbc225dcf590c9ba24a4f04de221358060arbowen This file is generated from xml source: DO NOT EDIT
10705fbc225dcf590c9ba24a4f04de221358060arbowen XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletc<title>Using mod_rewrite for Proxying - Apache HTTP Server Version 2.5</title>
10705fbc225dcf590c9ba24a4f04de221358060arbowen<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10705fbc225dcf590c9ba24a4f04de221358060arbowen<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
2e545ce2450a9953665f701bb05350f0d3f26275nd<script src="/style/scripts/prettify.min.js" type="text/javascript">
10705fbc225dcf590c9ba24a4f04de221358060arbowen<link href="/images/favicon.ico" rel="shortcut icon" /></head>
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
10705fbc225dcf590c9ba24a4f04de221358060arbowen<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div>
3f08db06526d6901aa08c110b5bc7dde6bc39905nd<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Using mod_rewrite for Proxying</h1>
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung<p><span>Available Languages: </span><a href="/en/rewrite/proxy.html" title="English"> en </a></p>
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf<p>This document supplements the <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code>
10705fbc225dcf590c9ba24a4f04de221358060arbowen<a href="/mod/mod_rewrite.html">reference documentation</a>. It describes
10705fbc225dcf590c9ba24a4f04de221358060arbowenhow to use the RewriteRule's [P] flag to proxy content to another server.
10705fbc225dcf590c9ba24a4f04de221358060arbowenA number of recipes are provided that describe common scenarios.</p>
3cfb051391f3d6aa28a25ca3feb81e841242f9d5humbedooh<div id="quickview"><h3>See also</h3><ul class="seealso"><li><a href="/mod/mod_rewrite.html">Module documentation</a></li><li><a href="intro.html">mod_rewrite introduction</a></li><li><a href="remapping.html">Redirection and remapping</a></li><li><a href="access.html">Controlling access</a></li><li><a href="vhosts.html">Virtual hosts</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 not to use mod_rewrite</a></li></ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
10705fbc225dcf590c9ba24a4f04de221358060arbowen<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
10705fbc225dcf590c9ba24a4f04de221358060arbowen<h2><a name="dynamic-proxy" id="dynamic-proxy">Proxying Content with mod_rewrite</a></h2>
10705fbc225dcf590c9ba24a4f04de221358060arbowen mod_rewrite provides the [P] flag, which allows URLs to be passed,
10705fbc225dcf590c9ba24a4f04de221358060arbowen via mod_proxy, to another server. Two examples are given here. In
10705fbc225dcf590c9ba24a4f04de221358060arbowen one example, a URL is passed directly to another server, and served
10705fbc225dcf590c9ba24a4f04de221358060arbowen as though it were a local URL. In the other example, we proxy
10705fbc225dcf590c9ba24a4f04de221358060arbowen missing content to a back-end server.</p>
10705fbc225dcf590c9ba24a4f04de221358060arbowen <p>To simply map a URL to another server, we use the [P] flag, as
10705fbc225dcf590c9ba24a4f04de221358060arbowen follows:</p>
5d01f40ffd657dd2ac567aacd93cabd162ddfa79coarRewriteBase "/products/"
5d01f40ffd657dd2ac567aacd93cabd162ddfa79coarRewriteRule "^widget/(.*)$" "http://product.example.com/widget/$1" [P]
2fae9d127f7143fabe8f73958eb9bde31df17d41coarProxyPassReverse "/products/widget/" "http://product.example.com/widget/"</pre>
10705fbc225dcf590c9ba24a4f04de221358060arbowen <p>In the second example, we proxy the request only if we can't find
10705fbc225dcf590c9ba24a4f04de221358060arbowen the resource locally. This can be very useful when you're migrating
10705fbc225dcf590c9ba24a4f04de221358060arbowen from one server to another, and you're not sure if all the content
10705fbc225dcf590c9ba24a4f04de221358060arbowen has been migrated yet.</p>
5d01f40ffd657dd2ac567aacd93cabd162ddfa79coar<pre class="prettyprint lang-config">RewriteCond "%{REQUEST_FILENAME}" !-f
5d01f40ffd657dd2ac567aacd93cabd162ddfa79coarRewriteCond "%{REQUEST_FILENAME}" !-d
5d01f40ffd657dd2ac567aacd93cabd162ddfa79coarRewriteRule "^/(.*)" "http://old.example.com/$1" [P]
10705fbc225dcf590c9ba24a4f04de221358060arbowen <dd><p>In each case, we add a <code class="directive"><a href="/mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> directive to ensure
10705fbc225dcf590c9ba24a4f04de221358060arbowen that any redirects issued by the backend are correctly passed on to
10705fbc225dcf590c9ba24a4f04de221358060arbowen the client.</p>
b22bd3d35ab7faf81ca4889acc42e7ce678074c1rbowen <p>Consider using either <code class="directive"><a href="/mod/mod_proxy.html#proxypass">ProxyPass</a></code> or <code class="directive"><a href="/mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code> whenever possible in
10705fbc225dcf590c9ba24a4f04de221358060arbowen preference to mod_rewrite.</p>
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung<p><span>Available Languages: </span><a href="/en/rewrite/proxy.html" title="English"> en </a></p>
ed62c84ee0911cfebbd8da319ac00757b555707chumbedooh</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
ed62c84ee0911cfebbd8da319ac00757b555707chumbedoohvar comments_shortname = 'httpd';
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedoohvar comments_identifier = 'http://httpd.apache.org/docs/trunk/rewrite/proxy.html';
0d0ba3a410038e179b695446bb149cce6264e0abnd(function(w, d) {
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
ed62c84ee0911cfebbd8da319ac00757b555707chumbedooh d.write('<div id="comments_thread"><\/div>');
0d0ba3a410038e179b695446bb149cce6264e0abnd var s = d.createElement('script');
ac082aefa89416cbdc9a1836eaf3bed9698201c8humbedooh s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
0d0ba3a410038e179b695446bb149cce6264e0abnd (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
ed62c84ee0911cfebbd8da319ac00757b555707chumbedooh d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
0d0ba3a410038e179b695446bb149cce6264e0abnd})(window, document);
205f749042ed530040a4f0080dbcb47ceae8a374rjung<p class="apache">Copyright 2015 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
0d0ba3a410038e179b695446bb149cce6264e0abndif (typeof(prettyPrint) !== 'undefined') {
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd prettyPrint();