我希望使用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
答案 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>
你明白了。