httpd - hosts virtuais vão para o mesmo site

3

aqui está meu /etc/httpd/conf.d/test.conf

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName test.dev
    ServerAlias test.dev.*.xip.io
    DocumentRoot /var/www/html/user/test/web
    ErrorLog "/var/www/html/user/test/app/logs/httpd_error.log"
    CustomLog "/var/www/html/user/test/app/logs/httpd_access.log" combined
    <Directory "/var/www/html/user/test/web">
        # AllowOverride All      # Deprecated
        # Order Allow,Deny       # Deprecated
        # Options All
        # Allow from all         # Deprecated
        # Require all granted    # << New way of doing it
        Options +FollowSymlinks +Indexes
        AllowOverride all
    </Directory>
</VirtualHost>

Acessar o link me redireciona com sucesso para o site adequado. Acessar o link também me redireciona para o mesmo site em vez do índice que eu esperava ver. Além disso, acessar link também me redirecionará para o mesmo site.

Como faço para configurar isso assim quando eu tento acessar test.dev.192.168.1.4.xip.io , vou acabar na página eu estou codificando ao acessar 192.168.1.4 .xip.io mostrará a página inicial.

Atualmente, estou usando um centos 6 em execução em uma caixa virtual com um adaptador em ponte para a rede. Aqui está o meu /etc/httpd/conf/httpd.conf.

link

    
por kapitanluffy 07.06.2015 / 09:44

2 respostas

0

Se você definir apenas um host virtual, todas as solicitações para o httpd serão atendidas por esse host virtual, independentemente de corresponderem ao ServerName ou ao ServerAlias, porque o primeiro host virtual também é o host virtual padrão. Pesquise "host virtual padrão" na documentação do Apache "Suporte ao Host Virtual baseado em nome" .

Observe também que, depois de definir quaisquer hosts virtuais, o Nome do Servidor padrão desaparecerá e você precisará definir um novo vhost para recriá-lo, se ainda desejar usá-lo. Veja a inserção "Main host goes away" no link acima.

Então, tente definir um host virtual padrão, que pode ser tão simples quanto

<VirtualHost *:80>
    DocumentRoot /var/www/html
</VirtualHost>

e certifique-se de que ele esteja antes de todos os outros hosts virtuais na configuração. Então, qualquer pedido que não corresponda aos outros hosts virtuais será servido por esse.

    
por 07.06.2015 / 10:39
-1

Você precisa definir um VirtualHost para cada página da web que deseja exibir; mesmo que 192.168.1.4 seja o principal, você também precisa definir um VirtualHost onde defina "ServerAlias 192.168.1.4". Se houver apenas um VirtualHost, você será redirecionado sempre para o site definido no ServerAlias.

    
por 07.06.2015 / 10:18