Different folder as website subfolder
www.site.com (points to /var/www/zf)
www.site.com/blog (points to /var/www/wp)
The easiset way to achive this, where you want a sub-url to point outside the VirtualHost's DocumentRoot directory, is to create an Alias...
Inside the VirtualHost block add:
Alias /blog /var/www/wp<Directory /var/www/wp> Options All AllowOverride All order allow,deny allow from all</Directory>
*This assumes you have PHP enabled in some way for that directory.
The ServerName trick will not work: you can not have path names in a ServerName directive.
For mod_rewrite you should be able to get away with something like this:
RewriteEngine onRewriteBase /RewriteRule ^blog/(.*)$ wp/$1 [L]RewriteRule ^(.*)$ zf/$1 [L]