Correspondência de padrões de Apache Virtual Hosts

2

Eu tentei olhar para outras perguntas semelhantes, mas não consigo encontrar o que estou procurando.

Eu tenho um servidor rodando o apache2 e quero que todos os pedidos de www.foo.tld sirvam as páginas em /var/www/foo.tld

Por exemplo:

www.example.com  -> /var/www/example.com
example.net      -> /var/www/example.net
foobar.co.uk     -> /var/www/foobar.co.uk
www.foobar.co.uk -> /var/www/foobar.co.uk

Eu não consigo descobrir como fazer isso. Eu posso trabalhar algumas vezes com ou sem o subdomínio www, mas nunca com ambos.

    
por Rory 28.05.2012 / 15:46

2 respostas

3

A diretiva do Apache VirtualDocumentRoot fará o truque, eis uma boa explicação: link

    
por 28.05.2012 / 16:18
0

Corrigi o problema criando um arquivo / etc / apache2 / sites-enabled-000-Dynamic

E renomeando o arquivo 000-default para 001-default.

Neste arquivo é o seguinte

<VirtualHost *:80>

  RewriteEngine On

  # Redirect www to non-www (class B compliance with no-www)
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^(.*)$ http://%1$1 [R=301,L]

  # Remove trailing slashes
  RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

  # Automatically get the correct folder
  UseCanonicalName Off
  VirtualDocumentRoot /var/www/%1

</VirtualHost>

Eu mudei um pouco: o nome www.foobar.com agora aponta para / var / www / foobar, o que torna muito mais fácil.

Além dos hosts virtuais dinâmicos, isso também redireciona www.foobar.com para foobar.com e remove

    
por 29.05.2012 / 08:46

Tags