Apache VirtualDocumentRoot最佳设置

时间:2010-10-30 13:35:26

标签: apache2 directory-structure virtualhost

我希望使用VirtualDocumentRoot进行干净,高效的目录设置。 (参考:http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html)。

特别是,我想到以下几点:

1)http://example.com由/apache_root/example.com提供

2)http://www.example.com由/apache_root/www/example.com或/apache_root/example.com/www或/apache_root/example.com提供服务(其中任何一个都很好。但我不知道为了提高效率,我想使用重定向。)

3)http://abc.example.com应由/apache_root/example.com/abc提供(基本上,它应该是/apache_root/example.com中的目录)

现在是棘手的部分::

使用此处列出的目录名称Interpolation方法可以实现以上所有目的: http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#interpol

BUT ::

如何处理example.com实际上甚至可以成为example.co.in的事实

(对于基本目录,如果我在example.co.in上使用%2 +,它会给我co.in但我想要example.co.in。%{+ http://abc.example.com,会给我abc.example.com作为基本目录,而不是我想要的example.com。

基本上,我想要一条能够始终如一地运作的规则: 1)www.abc.example.com
2)abc.example.com 3)www.abc.example.co.in 4)abc.example.co.in

(注意:显然,域名中的最高级别为127 http://en.kioskea.net/contents/internet/dns.php3。这意味着0.1.2.3.4.example.com几乎是可能的。)

欢呼声,

JP

1 个答案:

答案 0 :(得分:-1)

如果您只有2个域名,则只需2 VirtualHosts

<VirtualHost *:80>
  ServerDomain example.com
  ServerAlias *.example.com
  VirtualDocumentRoot /var/www/%-2%-1/%-3+
</VirtualHost>
<VirtualHost *:80>
  ServerDomain example.co.in
  ServerAlias *.example.co.in
  VirtualDocumentRoot /var/www/%-3%-2%-1/%-4+
</VirtualHost>

你明白了。