Apache 使用mod_write和mod_vhost_别名

Apache 使用mod_write和mod_vhost_别名,apache,mod-rewrite,apache2,vhosts,Apache,Mod Rewrite,Apache2,Vhosts,我想知道是否可以将vhost_别名模块与重写规则结合使用。因此,在我的虚拟主机中,我有: VirtualDocumentRoot /var/www/%2+/%1 例如,sub.mydomain.com将指向/var/www/mydomain.com/sub/ 但我想检查文件夹是否存在,以避免在我试图访问伪子域时出现404错误 所以我试着这么做 RewriteCond /var/www/%2+/%1 !-d RewriteRule ^.*$ www.mydomain.com 但它不起作用。有什

我想知道是否可以将vhost_别名模块与重写规则结合使用。因此,在我的虚拟主机中,我有:

VirtualDocumentRoot /var/www/%2+/%1
例如,sub.mydomain.com将指向/var/www/mydomain.com/sub/ 但我想检查文件夹是否存在,以避免在我试图访问伪子域时出现404错误

所以我试着这么做

RewriteCond /var/www/%2+/%1 !-d
RewriteRule ^.*$ www.mydomain.com

但它不起作用。有什么想法吗?

找到了另一种方法来做我想做的事:

RewriteRule ^(.*)$ %{HTTP_HOST}/$1
RewriteRule ^(.*)\.([^/.]*)\.([^/.]*)\/(.*) /home/vhosts/$2.$3/$1$4 [E=VIRTUAL_ROOT:/home/vhosts/$2.$3/$1]

RewriteCond %{ENV:VIRTUAL_ROOT} !-d
RewriteRule .* http://www.mydomain.com [L]