Apenas mova ProxyPass
do bloco <Directory>
- se estiver nesse contexto, espera-se que seja aplicado ao contexto exato (em vez do /services
para o qual você deseja se inscrever).
Na verdade, você não está fazendo nada com esse bloco, parece?
<VirtualHost *:80>
UseCanonicalName Off
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /services http://www-test.foo.com/services
ProxyPassReverse /services http://www-test.foo.com/services
# and if you do need to serve from /home/www/foo...
DocumentRoot /home/www/foo
<Directory /home/www/foo>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
edit: Senti falta de que não sejam realmente hosts virtuais - seu exemplo onde é apenas um diretório em um bloco de host virtual me fez pensar que eles eram separados.
Nesse caso ...
ProxyPreserveHost On
# If it's not already:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.foo
RewriteRule ^/services(.*) http://www-test.foo.com/services$1 [P,L]
ProxyPassReverse /services http://www-test.foo.com/services