Ao tentar criar múltiplos virtual hosts no XAMPP eu sempre tinha o mesmo problema: qualquer um dos domínios que eu utilizasse, o Apache redirecionava apenas para a mesma pasta.
O que acontece é que qualquer erro que seja encontrado em um arquivo, o Apache utiliza a pasta do primeiro Virtual Host como padrão. Então para que isso não ocorra, siga este passo-a-passo:
1 – Edite seu arquivos de hosts, para que ao acessar o domínio o navegador seja redirecionado para seu endereço IP. Este arquivo poderá ser encontrado no endereço “C:\Windows\System32\drivers\etc\hosts”. siga o exemplo abaixo:
# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 127.0.0.1 dominio1.com.br 127.0.0.1 www.dominio1.com.br 127.0.0.1 dominio2.com.br 127.0.0.1 www.dominio2.com.br
Agora, é necessário modificar o arquivo de configurações do XAMPP que estará na pasta C:\xampp\apache\conf\extra\httpd-vhosts.conf
Siga o exemplo abaixo:
# Virtual Hosts # # Required modules: mod_log_config # If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at # <URL:http://httpd.apache.org/docs/2.4/vhosts/> # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # NameVirtualHost 127.0.0.1:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ##ServerName or ##ServerAlias in any <VirtualHost> block. # <VirtualHost *:80> ServerName default DocumentRoot "C:\xampp\htdocs" ErrorLog "logs/default-error.log" CustomLog "logs/default-access.log" common <Directory "C:\xampp\htdocs"> DirectoryIndex index.php index.html index.htm AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName dominio1.com.br ServerAlias www.dominio1.com.br DocumentRoot "C:\xampp\htdocs\dominio1.com.br" ErrorLog "logs/dominio1-error.log" CustomLog "logs/dominio1-access.log" common <Directory "C:\xampp\htdocs\dominio1.com.br"> DirectoryIndex index.php index.html index.htm AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName dominio2.com.br ServerAlias www.dominio2.com.br DocumentRoot "C:\xampp\htdocs\dominio2.com.br" ErrorLog "logs/dominio2-error.log" CustomLog "logs/dominio2-access.log" common <Directory "C:\xampp\htdocs\dominio2.com.br"> DirectoryIndex index.php index.html index.htm AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
3 – Crie as pastas “C:\xampp\htdocs\dominio1.com.br” e “C:\xampp\htdocs\dominio2.com.br” – Dentro delas ficarão os arquivos de cada um de seus sites.
4 – Inicie o Apache.
Observação 01: Este arquivo foi escrito levando em consideração os diretórios padrão de instalação do Windows (c:\windows) e do XAMPP (C:\xampp). No Linux ubunto, o arquivo de configuração do apache 2 fica localizado no endereço “/etc/apache2/sites-available/000-default.conf”
Observação 02: Nunca se esqueça de adicionar os comandos NameVirtualHost e a sub-tag Directory, estes erros são um dos maiores motivos para criar o problema do único redirecionamento.
Observação 03: Verifique a direção das barras, isso pode causar o mesmo erro citado acima, siga o exemplo.
Observação 04: Se você utilizar um proxy para acessar a internet, não esqueça de adicionar os domínios que você incluiu no arquivo de hosts na lista de exceções (“Não usar servidor de proxy para endereços iniciados por”).
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (2003), e especialista em Engenharia de Software pela Universidade Salvador (2010). Exerce atualmente o cargo de Analista Judiciário na Justiça do Trabalho.
Po, muito bom! Eu tava com um problema pois, após tentar atualizar o yarn.lock com o NPM, por algum motivo, o localhost padrão do Xampp parou de chamar a pasta htdocs e estava chamando o meu primeiro Virtualhost configurado. Se eu tivesse um index.php no htdocs ele não era chamado, abria direto no primeiro Virtualhost. Ao configurar o htdocs como localhost default, resolveu meu problema. Sabe dizer se isso tem a ver com as variáveis de ambiente do Windows? De repente alguma instalação utilizando o NPM causou isso? Abraços.
Isso talvez seja em decorrência de uma concorrência de portas HTTP. Você pode ter instalado com um NPM um servidor Web que passou a utilizar a porta 80. Jogando o servidor apache para um outra porta que não tem uma configuração definida no arquivo do Virtual Host.
Estou utilizando o Windows 10 e ele não permite que eu altere o arquivo hosts. Vc tem idéia como eu faço pra criar permissão no windows pra alterar o arquivo?
Obrigado.
Boa Noite, Vinício! Eu também utilizo o Windows 10 e consigo realizar modificações. Você não conseguirá editar o arquivo e salvar, mas você pode salvar as modificações como um arquivo com nome diferente e depois utilizá-lo para sobrescrever o arquivo original.
ativa a conta administrador do seu computador e faz por lá que da certo
poe o seguinte comando no powerShell
net user administrador /active:yes