We have used both mod_rewrite and mod_proxy successfully in numerous configurations. Put them together and they don't seem to like each other. We have a working production mod_proxy_balancer configuration for two backend web servers that is working great, except... The backend web servers need the IP address of the clients to identify their location. Yes, I had suggested just adding a location drop down so that users could select their own location within the web application. Too inconvenient for the end user they say. They want "c_loc=xxx" added to the URL at the load balancer. Okay, this sounds like a job for mod_rewrite. This should be easy enough using the QSA option. But... mod_proxy works great, mod_rewrite works great, I put the to together and they seem to not like each other. Below is one of the many configurations tested. The best I can get is the URI components are mixed up incorrectly. Any ideas? My build of apache: tar -xvzf httpd-2.2.8.tar.gz cd httpd-2.2.8 CFLAGS="-O2" ./configure --enable-http --enable-info=shared \ --enable-ssl=shared --enable-rewrite=shared --enable-speling=shared \ --enable-cgi=shared --enable-deflate=shared --enable-disk-cache=shared \ --enable-cache=shared --enable-proxy=shared --enable-proxy-http=shared \ --enable-proxy-balancer=shared --prefix=/vol/devl/loadbalancer make make install <VirtualHost catalog-devl.tld.org:81> ServerName catalog-devl.tld.org LogLevel debug <Proxy *> AddDefaultCharset off Order Allow,Deny Allow from all </Proxy> <Location /balancer-manager> SetHandler balancer-manager Order Allow,Deny Allow from 192.168.200.0/24 192.168.222.0/24 192.168.223.0/24 192.168.220.13 </Location> <Location /> Order Allow,Deny Allow from 192.168.0.0/16 172.16.0.0/12 </Location> # Add the client's location number to the URL RewriteEngine On # Large list of locations goes here. List removed to shorten for email RewriteCond %{REMOTE_HOST} ^192\.168\.1\.[5-8] RewriteRule /.*\.aspx?\? http://catalog-devl.tld.org%{REQUEST_URI}&c_loc=730 [L] RewriteCond %{REMOTE_HOST} ^192\.168\.220\. # Here are things I have tried RewriteRule "^/(.*)$" proxy:balancer://aquabrowser$1&c_loc=220" [QSA,L] # I get 404 Error: "GET //cd/README&c_loc=220%22?test=1 HTTP/1.1" in the logs of the backend server. RewriteRule "^(.*\?.*)$" "http://catalog1.tld.org%{REQUEST_URI}&c_loc=220" [L,P] # I get 404 Error: "GET /cd/README&c_loc=220?test=1 HTTP/1.1" in the logs of the backed server. # This is a long list other things I have tried. Nothing seems to work. ProxyRequests Off ProxyVia On ProxyPreserveHost On ProxyPass /balancer-manager ! # Catalog Development ProxyPass / balancer://aquabrowser/ <Proxy balancer://aquabrowser> BalancerMember http://catalogdev.tld.org:80 min=1 smax=20 loadfactor=5 #BalancerMember http://catalog1.tld.org:80 min=1 smax=20 loadfactor=5 route=CAT1 #BalancerMember http://catalog2.tld.org:80 min=1 smax=20 loadfactor=5 route=CAT2 ProxySet lbmethod=byrequests ProxySet stickysession=ABbalancer ProxySet nofailover=Off ProxySet maxattempts=3 ProxySet timeout=5 Order Allow,Deny Allow from 192.168.0.0/16 172.16.0.0/12 </Proxy> ProxyPassReverse / http://catalogdev.tld.org #ProxyPassReverse / http://catalog1.tld.org #ProxyPassReverse / http://catalog2.tld.org </VirtualHost> Travis Sidelinger --------------------------------------------------------------------- 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 --------------------------------------------------------------------- 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