2013-04-11 38 views
0

我用這個片段通配符的子域,做工不錯:通配符上的DocumentRoot爲虛擬主機

<VirtualHost *:80> 
    DocumentRoot /var/www/subdomains 
    ServerName subdomains.example.com 
    ServerAlias *.example.com 
</VirtualHost> 

現在我想在DocumentRoot的使用通配符過,例如:

<VirtualHost *:80> 
    DocumentRoot /var/www/* 
    ServerName sumdomains.example.com 
    ServerAlias *.example.com 
</VirtualHost> 

這意味着,如果通話'username.example.com',DocumentRoot指向'/ var/www/username /'。

在此先感謝!

回答

2

你不能這樣做直接,但你可以重寫網址具有相同的行爲

在你的配置文件中添加這兩條線

DocumentRoot /var/www/ 
RewriteEngine On 
RewriteRule ^/(.*) /%{HTTP_HOST}/$1 

http://user.example.com/foo.html的請求將獲取該文件/var/www/user.example.com/foo.html

+0

非常感謝。但是你能否給我一個RewriteRule,請求http://user.example.com/foo.html從/var/www/user/foo.html獲取文件? – 2013-04-11 14:24:17