host virtual do apache: como adicionar dois hosts virtuais?

1

Estou executando meu apache no Windows para fins de desenvolvimento. Meu objetivo é ter dois sites locais configurados: Eu fiz isso no meu httpd.conf

<VirtualHost *:80>
    DocumentRoot C:\Users\Proxymis\Desktop\sites\site1
    ServerName site1.localhost
    <Directory C:\Users\Proxymis\Desktop\sites\site1>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Isso funciona bem. Agora eu gostaria de adicionar site2 também. Se eu adicionar site2, ainda vou ao site1 (*:80)

Eu tentei alterar <VirtualHost *:80> para <site1.localhost*:80> Não há sucesso.

Eu quero manter a mesma porta (80) para todos os meus sites. Eu tentei com alias: problema é a raiz do documento aponta para a instalação do apache e, portanto, links como /css.css dá erros 404

Alguma pista?

    
por yarek 18.03.2016 / 12:21

1 resposta

2

Gostaria de adicionar site2 também

Você precisa de algo como o seguinte.

Em conf/extra/httpd-vhosts.conf :

<VirtualHost *:80>
    DocumentRoot C:/Users/Proxymis/Desktop/sites/site1
    ServerName site1
    ServerAlias *.site1
    <Directory C:/Users/Proxymis/Desktop/sites/site1>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot C:/Users/Proxymis/Desktop/sites/site2
    ServerName site2
    ServerAlias *.site2
    <Directory C:/Users/Proxymis/Desktop/sites/site2>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Notas:

  • Adicionei ServerAlias linhas acima

  • Os caminhos normalmente são gravados com / em vez de \

  • Os hosts virtuais devem ser definidos em conf/extra/httpd-vhosts.conf não conf\httpd.conf

  • conf\httpd.conf deve conter Include conf/extra/httpd-vhosts.conf

Em C:\Windows\System32\drivers\etc\hosts :

127.0.0.1       site1
127.0.0.1       site2
::1             site1
::1             site2
    
por 18.03.2016 / 12:39