Curinga no DocumentRoot para virtualhost

1

Eu uso essa configuração no apache2 para o subdomínio de caractere curinga e funciona bem:

<VirtualHost *:80>
  DocumentRoot /var/www/
  ServerName sumdomains.example.com
  ServerAlias *.example.com
  RewriteEngine On
  RewriteRule ^/(.*) /%{HTTP_HOST}/$1
</VirtualHost>

Isso significa que uma solicitação para o link buscará o arquivo /var/www/user.example. com /foo.html.

mas eu quero solicitar ao arquivo de busca http: // usuário .example.com / foo.html do / var / www / usuário /foo.html.

qual curinga devo usar para isso?

    
por Amir Molaa 13.04.2013 / 04:06

1 resposta

3

Defina a regra de reescrita para obter o sub.domínio e redirecione para / sub / requestedFile

RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9-]+)\.example.com$
RewriteRule ^(.+) /%1/$1 [L,QSA]

Ou defina VirtualDocumentRoot com% -1 representando o subdomínio.

<VirtualHost *:80>
  VirtualDocumentRoot /var/www/%-1
  ServerName sumdomains.example.com
  ServerAlias *.example.com
</VirtualHost>
    
por 13.04.2013 / 05:32