DocumentRoot上的通配符,用于虚拟主机

时间:2013-04-11 03:52:05

标签: apache virtualhost

我将此代码段用于通配符子域并且效果很好:

<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 /'。

提前致谢!

1 个答案:

答案 0 :(得分:2)

你不能直接这样做,但你可以重写你的网址以具有相同的行为

在配置文件中添加这两行

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

http://user.example.com/foo.html的请求将获取文件 /var/www/user.example.com/foo.html