ProxyPass can work. I have some sites using ProxyPass, others using RewriteRule. The documentation under your Zope VirtualHostMonster is another good place.
The rewriting is as simple as this:
<VirtualHost *:80>
ServerName webdav.example.ca
ServerAlias somethingelse
ServerAdmin [email protected]
So, I'm assuming you are going to have a specific hostname for the DAV server - in this case webdav.example.ca.
RewriteLogLevel 0
RewriteEngine On
You can't use Rewrite until you turn it on :-)
RewriteRule ^(.*) http://localhost:1980/VirtualHostBase/http/webdav.example.ca:80/Plone/Members/VirtualHostRoot$1 [L,P]
The part before VirtuaLHostBase is the actual host/port your DAV server is on. The next part http/webdav.example.ca:80 describes the protocol//:server:port you want the users to use. Plone would be your Plone Site name. $1 matches the regular expression (.*).
</VirtualHost>
Testing it is as easy as using cadaver from your DAV server. First make sure that you can access:
http://localhost:1980/Plone/Members/username
Then:
http://localhost:1980/VirtualHostBase/http/webdav.example.ca:80/Plone/Members/VirtualHostRoot/username
Finally:
http://webdav.example.ca:80/username
Now, this doesn't prevent a user from trying to attach to somebody else's folder, but Zope security does. There's a bit of a chicken and egg situation in that the server doesn't know the username until after you have already used this.