大量虚拟主机和子域名

我试图设置零configurationnetworking开发环境:通配符DNS和dynamic虚拟主机。 这是我的v主机configuration:

NameVirtualHost *:80 <VirtualHost *:80> ServerAlias *.dev VirtualDocumentRoot /var/sites/%-2/docs UseCanonicalName Off </VirtualHost> 

在这一点上一切都好,但现在我试图build立与后备的dynamic子域

 test.dev → /var/sites/test/docs sub.test.dev → /var/sites/test/sub dontexist.test.dev → /var/sites/test/docs 

目录结构:

 var |--sites |--test |--docs |--sub 

我目前的尝试:

 <Directory "/var/sites"> RewriteEngine On RewriteCond %{ENV:REDIRECT_SUBDOMAIN} ="" RewriteCond %{HTTP_HOST} ^([a-z0-9][-a-z0-9]+)\.([a-z0-9][-a-z0-9]+)\.dev\.?(:80)?$ [NC] RewriteCond %{DOCUMENT_ROOT}/%2/%1 -d RewriteRule ^(.*) /%2/%1/$1 [E=SUBDOMAIN:%1,L] </Directory> 

现在堆放在:

 [perdir /var/sites/] strip per-dir prefix: /var/sites/test/docs/ -> test/docs/ [perdir /var/sites/] applying pattern '^(.*)' to uri 'test/docs/' [perdir /var/sites/] RewriteCond: input='' pattern='=' => matched [perdir /var/sites/] RewriteCond: input='sub.test.dev' pattern='^([a-z0-9][-a-z0-9]+)\.([a-z0-9][-a-z0-9]+)\.dev\.?(:80)?$' [NC] => matched [perdir /var/sites/] RewriteCond: input='/var/sites/test/sub' pattern='-d' => matched [perdir /var/sites/] rewrite 'test/docs/' -> '/test/sub/test/docs/' setting env variable 'SUBDOMAIN' to 'sub' [perdir /var/sites/] internal redirect with /test/sub/test/docs/ [INTERNAL REDIRECT] [perdir /var/sites/] add path info postfix: /var/sites/test/docs/test -> /var/sites/test/docs/test/sub/test/docs/ [perdir /var/sites/] strip per-dir prefix: /var/sites/test/docs/test/sub/test/docs/ -> test/docs/test/sub/test/docs/ [perdir /var/sites/] applying pattern '^(.*)' to uri 'test/docs/test/sub/test/docs/' [perdir /var/sites/] RewriteCond: input='sub' pattern='=' => not-matched [perdir /var/sites/] pass through /var/sites/test/docs/test 

有任何想法吗?

这甚至可能吗?

谢谢