Ken == Ken Miller [EMAIL PROTECTED] writes:
Ken I initially thought something like this would work:
Ken ---
Ken ProxyPass On
Ken ProxyPass / http://other.server.com:1234/
Ken ProxyPassReverse / http://other.server.com:1234/
Ken alias /graphics /local/path
Ken ---
Ken However, /graphics also get's proxied to the app server. This isn't what I
Ken want.
Ken I don't think mod_proxy can do this; at least it's not clear to me how to if
Ken it does support this feature.
Ken Would mod_rewrite be a better solution? Match on the URL's that I want
Ken processed locally (and stop), else map the url to the app server, and
Ken forward the request?
Here's what the reverse-caching-proxy front end for www.stonehenge.com uses:
RewriteEngine On
## RewriteLog /web/stonehenge-proxy/var/log/rewrite_log
## RewriteLogLevel 3
## local services:
RewriteRule ^/icons/ - [last]
RewriteRule ^/tt2/images/ - [last]
## local redirect:
RewriteRule ^/cgi/go/(.*)$ $1 [redirect,last,noescape]
## passthrough:
RewriteMap escape int:escape
RewriteRule ^/(.*)$ http://localhost:8081/${escape:$1} [proxy,noescape]
ProxyPassReverse / http://localhost:8081/
## made a mistake! should never get here
RewriteRule .* - [forbidden]
By the way, without that RewriteMap, %3F in a URL incorrectly
becomes ?, thus ending the path-part and begins the query-part.
Bad. Broken. But this workaround works fine. And the examples
in the mod_rewrite documentation are wrong.
I figured this out while rebuilding
http://www.stonehenge.com/merlyn/Pictures/
to work with images that had spaces in the filenames as well
as question marks and ampersands. :) Talk about escaping hell.
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
[EMAIL PROTECTED] URL:http://www.stonehenge.com/merlyn/
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!