Если вы хотите, чтобы apache делал это прозрачно (т. Е. URL-адрес в браузере не должен изменяться), вы можете просто смонтировать свой сервлет DAV на другом сервере:
ProxyPass /dav/ ajp://localhost:8009/servlet/dav/ smax=0 ttl=60 retry=5
Это должно сработать:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^my.dav.domain.com [NC]
RewriteRule ^/dav/(.*)$ http://my.dav.domain.com/$1 [R=301,NC]
Лично я бы не стал использовать вашу структуру поддоменов. Лучше использовать dav.subdomain.domain.com
вместо subdomain.dav.domain.com
.