ProxyPass for specific vhost
- by Steve Robbins
I have a web server that it set up to dynamically server different document roots for different domains
<VirtualHost *:80>
    <IfModule mod_rewrite.c>
        # Stage sites :: www.[document root].server.company.com => /home/www/[document root]
        RewriteCond   %{HTTP_HOST}          ^www\.[^.]+\.server\.company\.com$
        RewriteRule   ^(.+)                 %{HTTP_HOST}$1          [C]
        RewriteRule   ^www\.([^.]+)\.server\.company\.com(.*) /home/www/$1/$2  [L]
    </IfModule>
</VirtualHost>
This makes it so that www.foo.server.company.com will serve the document root of server.company.com:/home/www/foo/
For one of these sites, I need to add a ProxyPass, but I only want it to be applied to that one site.  I tried something like
<VirtualHost *:80>
    <Directory /home/www/foo>
        UseCanonicalName Off
        ProxyPreserveHost On
        ProxyRequests Off
        ProxyPass /services http://www-test.foo.com/services
        ProxyPassReverse /services http://www-test.foo.com/services
    </Directory>
</VirtualHost>
But then I get these errors
  ProxyPreserveHost not allowed here
  
  ProxyPass|ProxyPassMatch can not have a path when defined in a location.
How can I set up a ProxyPass for a single virtual host?