Как я могу использовать Apache для обратного прокси динамического URL - PullRequest
2 голосов
/ 22 мая 2010

Я хочу, чтобы пользователь мог загружать URL в своем браузере, но не перенаправляться:

http://example.com/abc/{var1}/{var2}/def

Я хочу, чтобы сервер example.com apache 2.2 принимал этот запрос и "невидимо", без перенаправления обратного прокси-сервера, на:

http://other.example.com/abc/{var1}/{var2}/def

Я часами пробовал разные комбинации RewriteRule, ProxyPass, ProxyPassMatch и ProxyPassReverse, но все безрезультатно. Вот моя текущая попытка, которая, кажется, делает перенаправление на / test вместо невидимого прокси.

RewriteRule ^/abc/([^/\.]+)/([^/\.]+)/def/?$ /test/abc/$1/$2/def [P]
ProxyPass /test http://other.example.com/ 
ProxyPassReverse /test http://other.example.com/

1 Ответ

0 голосов
/ 22 мая 2010

Флаг [P] уже имеет функциональность ProxyPass. Вам нужно только добавить ProxyPassReverse. Кроме того, если вы хотите использовать прокси, вы должны использовать полный URL-адрес в качестве второго операнда RewriteRule.

RewriteRule ^/abc/([^/\.]+)/([^/\.]+)/def/?$ http://other.example.com/abc/$1/$2/def [P]
ProxyPassReverse / http://other.example.com/
...