From: "seb bacon" <seb@jamkit.com>
RewriteRule ^/([^/]+)/?(.*) http://localhost:9080/VirtualHostBase/http/www.foo.com:80/demo/$1/SomeFo lder/VirtualHostRoot/$1/$2 [P]
RewriteRule ^/([^/]+)/?(.*) http://localhost:9080/VirtualHostBase/http/www.foo.com:80/demo/$1/SomeFo lder/VirtualHostRoot/_vh_$1/$2 [P]
Why did the second version (with _vh_) work, but the first not?
Because 'VirtualHostRoot' removes all of the path up to that point from the URL, and does this by remembering the absolute_url() of the object found at that step. In your first version, putting '$1' in the path a second time complicated acquisition a little, but does nothing for your URL. I added the '_vh_' behavior to support people who map a domain subdirectory into a Zope's root. Yours is an intermediate case, mapping a domain subdirectory into a Zope subfolder. Path segments like '_vh_XXX', right after the 'VirtualHostRoot', add to the URL path without trying to find a Zope object named 'XXX'. Cheers, Evan @ 4-am & Zope