Статья AskApache весьма полезна, но на практике я обнаружил, что сочетание правил перезаписи и ProxyPassReverse является более гибким. Так что в вашем случае я бы сделал что-то вроде этого:
<VirtualHost example>
ServerName www.example.com
ProxyPassReverse /app1/some-path/ http://internal1.example.com/some-path/
RewriteEngine On
RewriteRule /app1/(.*) http://internal1.example.com/some-path$1 [P]
...
</VirtualHost>
Мне это нравится больше, потому что это дает вам более точный контроль над путями, которые вы используете для внутреннего сервера. В нашем случае мы хотели выставить только часть стороннего приложения. Обратите внимание, что это не относится к жестко закодированным ссылкам в HTML, которые рассматриваются в статье AskApache.
Также обратите внимание, что у вас может быть несколько строк ProxyPassReverse:
ProxyPassReverse / http://internal1.example.com/some-path
ProxyPassReverse / http://internal2.example.com/some-path
Я упоминаю об этом только потому, что другое стороннее приложение, которое мы передавали, отправляло перенаправления, в которых не было указано их внутреннее имя хоста, просто другой порт.
В качестве последнего замечания имейте в виду, что Firebug чрезвычайно полезен при отладке перенаправлений.