虚拟主机的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/'。

提前感谢!

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

在配置文件中添加这两行

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

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

最新更新