将mod_rewrite与mod_vhost_alias一起使用

时间:2010-02-27 22:46:56

标签: apache mod-rewrite apache2 vhosts

我想知道是否可以将vhost_alias模块与重写规则结合使用。所以在我的VirtualHost中我有这个:

VirtualDocumentRoot /var/www/%2+/%1

例如,sub.mydomain.com将指向/var/www/mydomain.com/sub/
但我想检查文件夹是否存在,以避免在我尝试访问虚假子域时出现404错误。

所以我试着这样做

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

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

1 个答案:

答案 0 :(得分:0)

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

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]