pdt_p wrote: > Hi... > > from this solution: > RewriteRule ^/testing/(.*)$ http://myserverB/$1 [P,L] > RewriteRule ^/(.*)$ http://myserverA/$1 [P] > ProxyPassReverse /testing http://myserverB/ > > the original server url is fixed. In this case http://myserverB and > http://myserverA. What if the original URL is dynamic which is passed from > parameter? > for example: > http://<myReveseProxyHostName>/testing/myserverB/otherPath --> > http://myserverB/otherPath > > I think for RewriteRule is quite straight forward: RewriteRule > ^/testing/(.*)$ http://$1 [P] > but how about the ProxyPassReverse? You really don't want to do that... think about the following: http://reverse.proxy/testing/www.google.com/ And any others. Your proxy could be used to launch an attack against a third party. You could however use something like: RewriteRule ^/testing/(servera|serverb|serverc)/(.*)$ http://$1/$2 [P] Gut you'd need to add ProxyPassReverses in for all combinations! HTH, Neil. > Neil A. Hillard-2 wrote: >> Tamer Embaby wrote: >>> I have the following simple setup: >>> >>> [1] LoadModule rewrite_module modules/mod_rewrite.so >>> [2] LoadModule proxy_module modules/mod_proxy.so >>> [3] LoadModule proxy_http_module modules/mod_proxy_http.so >>> [4] RewriteEngine on >>> [5] ProxyPass /testing http://myserverB/ >>> [6] ProxyPassReverse /testing http://myserverB/ >>> [7] RewriteRule ^/(.*)$ http://myserverA/$1 [P] >>> >>> My problem is: >>> >>> When I access http://myserver/testing/index.html, it gets handled by the >>> rewrite rule and not the proxy module. >>> >>> The interesting point if I changed the order of LoadModule directives >>> so now it reads: >>> [1] LoadModule proxy_module modules/mod_proxy.so >>> [2] LoadModule proxy_http_module modules/mod_proxy_http.so >>> [3] LoadModule rewrite_module modules/mod_rewrite.so >>> >>> The proxy module handles the request and not the rewrite module! >>> >>> Is this behavior documented somewhere? Where can I read about it? I >>> tried to Google a lot with no good. How can I control it? >>> >>> Moreover, what if I compiled in the rewrite_mod and proxy_mod statically >>> into Apache, how would I control the order of modules calling then? >>> >>> I did my home work, scanned the FAQ, Googled but I cannot come up with >>> any technical explanation for this. >> Simple answer - don't mix them in this way (that's what I've been doing, >> anyway)! Stick to mod_rewrite and you should be fine: >> >> RewriteRule ^/testing/(.*)$ http://myserverB/$1 [P,L] >> RewriteRule ^/(.*)$ http://myserverA/$1 [P] >> ProxyPassReverse /testing http://myserverB/ >> >> You can include: >> >> RewriteRule ^/testing$ /testing/ [R,L] >> >> before the above if you want to handle a missing trailing slash. -- Neil Hillard neil.hillard@xxxxxxxxxxxxxxxxxx AgustaWestland http://www.whl.co.uk/ Disclaimer: This message does not necessarily reflect the views of Westland Helicopters Ltd. --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx