下記でVirtualDocumentRootを使ってPHP環境を作りましたが、apacheの環境変数的には変わってないようで、デフォルトの値が入ってしまいます。(CentOS 6.6に入っているapache 2.2.15で確認しているので新しいのでは治ってるかも)
Macに複数サイトに対応したPHP環境を簡単に作る - komagata
すごく困るんですが、下記のようにPHPで無理やり書き換えればOK。
<virtualhost *:80>
VirtualDocumentRoot /srv/%0
# Ref: http://joshbenner.me/blog/quick-tip-get-proper-document-root-when-using-mod-vhost-alias/
php_admin_value auto_prepend_file /srv/set_docroot_hack.php
</virtualhost>
<directory /srv/*>
Order allow,deny
Allow from all
</directory>
/srv/set_docroot_hack.php:
<?php
$_SERVER['DOCUMENT_ROOT'] = str_replace($_SERVER['SCRIPT_NAME'], '', $_SERVER['SCRIPT_FILENAME']);
なんか危ういですね。