Apache 2.4 localhost virtualhost não está funcionando

0

Estou tentando descobrir isso há dias. Eu só quero poder referenciar meu ambiente de teste local com: placeholder.test

Eu tenho o seguinte no meu httpd-vhosts.conf :

<VirtualHost *:80>
  DocumentRoot /root
  ServerName localhost

<Directory /root/site>
    RewriteEngine On
    RewriteRule ^([a-zA-Z0-9]+)$ index.php?action=$1
</Directory>

</VirtualHost>

Isso está funcionando. Eu tenho o rewriterule lá porque o site é projetado para funcionar dessa maneira, mas não consigo obter o host virtual para placeholder.test working.

Minha entrada para placeholder.test é assim:

<VirtualHost placeholdercms.test:80> 
    DocumentRoot /root/site
    ServerName placeholder.test
    ServerAlias www.placeholder.test

<Directory /root/site>
    RewriteEngine On
    RewriteRule ^([a-zA-Z0-9]+)$ index.php?action=$1
</Directory>

</VirtualHost>

Além disso, editei meu arquivo de hosts para incluir o seguinte:

127.0.01 localhost
::1 localhost
127.0.0.1 placeholder.test
127.0.0.1 www.placeholder.test

Não importa o que eu faça:

The host name resolution (DNS lookup) for this host name (placeholder.test) has failed.

Acho que estou perdendo algumas informações básicas, mas vitais. Qualquer ajuda seria muito apreciada.

    
por Simon Bradley 11.09.2015 / 12:56

2 respostas

0

Parece não haver nada no apache 2.4 documento de exemplos do VirtualHost que me faz pensar que há suporte para FQDNs na diretiva VirtualHost .

Eu acho que o parâmetro VirtualHost é o atributo onde a instância do apache2 deve estar ouvindo. A maioria das pessoas o define como * para que ele ouça todas as interfaces. Você pode até torná-lo específico para uma interface diferente, se quiser, mas parece não haver um exemplo com um FQDN. Então eu mudei para:

<VirtualHost *:80> 
   ...
</VirtualHost>

Além disso, você terá que definir a mesma entrada para o arquivo local /etc/hosts com o endereço IP da máquina que deve estar executando sua instância do apache2.

    
por 11.09.2015 / 17:29
0

I think I’m missing some basic but vital piece of information.

Sim, você é. Veja a configuração do host virtual que você forneceu:

<VirtualHost placeholdercms.test:80> 
    DocumentRoot /root/site
    ServerName placeholder.test
    ServerAlias www.placeholder.test

<Directory /root/site>
    RewriteEngine On
    RewriteRule ^([a-zA-Z0-9]+)$ index.php?action=$1
</Directory>

</VirtualHost>

Agora, olhe a primeira linha dessa configuração:

<VirtualHost placeholdercms.test:80> 

Esse placeholdercms.test é o que está sufocando a configuração. Apenas mude para:

<VirtualHost *:80> 

A combinação * e ServerName / ServerAlias é o que funciona para configurações de host virtual como essa.

    
por 11.09.2015 / 17:29