>>>>> "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!

Reply via email to