Использование подстановочных знаков в директиве VirtualDocumentRoot
невозможно при использовании Apache 2.2.3.
Правильная запись VirtualHost для HTTP-запросов выглядит следующим образом:
<IfModule mod_vhost_alias.c>
<VirtualHost *:80>
ServerAlias *
UseCanonicalName Off
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog /var/log/httpd/access_log vcommon
VirtualDocumentRoot /var/www/vhosts/shared/%0
VirtualScriptAlias /var/www/vhosts/shared/%0
</VirtualHost>
</IfModule>
Это будет обслуживать запрос к subdir.mydomain.com
из каталога /var/www/vhosts/shared/subdir.mydomain.com
Для обслуживания запросов HTTPS, дублируйте это и замените *:80
на *:81