Configuração do VirtualDocumentRoot para desenvolvimento local [duplicado]

1

Estou tentando aprender sobre como configurar os arquivos httpd.conf e httpd-vhosts.conf. Eu gostaria de ter uma configuração local, usando Wampserver no Windows 7, para que eu possa adicionar um novo projeto apenas adicionando um novo diretório e uma edição rápida para o arquivo de hosts. Eu gostaria que ele funcionasse pelo menos para os seguintes formatos de domínio geral: domain.com, www.domain.com, sub.domain.com e www.sub.domain.com.

O seguinte é o que eu tenho até agora. Parece funcionar, mas estou apenas pensando que provavelmente há uma maneira melhor, possivelmente mais sucinta:

NameVirtualHost *:80

<Directory "C:/wamp/www/%0/public_HTML">
    Options Indexes FollowSymLinks Includes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>
    VirtualDocumentRoot "C:/wamp/www/%0/public_HTML"
</VirtualHost>

<VirtualHost *:80>
    ServerAlias www.*.*.com
    VirtualDocumentRoot "C:/wamp/www/%3+/public_HTML/%2"
</VirtualHost>

<VirtualHost *:80>
    ServerAlias www.*.com
    VirtualDocumentRoot "C:/wamp/www/%2+/public_HTML"
</VirtualHost>

<VirtualHost *:80>
    ServerAlias *.*.com
    VirtualDocumentRoot "C:/wamp/www/%2+/public_HTML/%1"
</VirtualHost>

Minha estrutura de pastas é a seguinte: C: / wamp / www / (projeto) / public_HTML / (pasta nomeada como a sub-parte de sub.dominio.com)

Isso funciona, mas se eu alterar a ordem dos VirtualHosts de alguma forma, isso causará um erro 404 em pelo menos um dos formatos de domínio listados acima. Eu queria saber se alguém poderia me explicar por que isso acontece? E também, se alguém tem uma sugestão para uma maneira melhor, eu adoraria ouvir isso.

Obrigado!

    
por Joe 25.01.2014 / 17:36

1 resposta

2

Eu estava tendo problemas semelhantes, com um padrão ligeiramente diferente, usando um sufixo '.dev' para meus hosts virtuais, com o domínio completo como o nome da pasta.

Eu consegui trabalhar com VirtualDocumentRoot /www/sites/%-2+/public_html ...

<VirtualHost *:80>
  ServerName dev
  ServerAlias *.dev
  UseCanonicalName Off
  VirtualDocumentRoot /www/sites/%-2+/public_html
</VirtualHost>

Por exemplo O acima resolve uma solicitação para test.com.dev para www / sites / test.com / public_html

Acho que você só precisa do último /www/%2+/public_html/%1 para resolver sub.test.com para www/test.com/public_html/dev , mas verifique os documentos para encontrar um padrão exato: link

Também achei este artigo bastante útil: link

Você também pode usar DNSmasq para tornar as entradas do host automáticas também.

    
por 22.11.2014 / 13:00