title: Apache Rewrite then Proxy Pass
body: <p>I have an apache server that works as a reverse proxy in our DMZ. We have an external service that posts back to a particular URL on this server. There is a need now for this service to postback to an entirely new application, but this will most likely change again in the near future as we're in a testing phase right now.</p>
  
  <p>So to resolve this, I'm trying to take the incoming postback request, <code>/smsPostback.php</code>, and rewrite it to a new relative URL, <code>/SMSHandler/Process</code>. This part is working.</p>
  
  <p>However defined immediately below in the config, I have a ProxyPass directive to proxy all traffic to <code>/SMSHandler</code> to an internal server.</p>
  
  <p>These are the new lines from the apache conf file:</p>
  
  <pre><code>RewriteRule ^/smsPostback.php$ /SMSHandler/Process 
  ##Proxy pass smshandler
  ProxyPass /SMSHandler http://172.29.61.49:8080/SMSHandler
  ProxyPassReverse /SMSHandler http://172.29.61.49:8080/SMSHandler
  </code></pre>
  
  <p>And these are the logs from the rewrite log:</p>
  
  <pre><code>172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (2) init rewrite engine with requested uri /smsPostback.php
  172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (3) applying pattern '^/smsPostback.php$' to uri '/smsPostback.php'
  172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (2) rewrite '/smsPostback.php' -&gt; '/SMSHandler/Process'
  172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (2) local path result: /SMSHandler/Process
  172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (2) prefixed with document_root to C:/hidden.com/SMSHandler/Process
  172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (1) go-ahead with C:/hidden.com/SMSHandler/Process [OK]
  </code></pre>
  
  <p>And this is the error log entry from apache:</p>
  
  <pre><code>[Tue Jan 24 18:43:36 2012] [error] [client 172.29.61.49] File does not exist: C:/fmfacilitymaintenance.com/SMSHandler
  </code></pre>
  
  <p>Any thoughts as to why it never reverse proxies the request, but rather tries (and fails) to serve it locally??  Thanks!</p>