Requer o nome do servidor no VirtualHost

2

Eu tenho o seguinte registro CNAME: pear.example.com

Então eu tenho uma entrada do VirtualHost:

<VirtualHost *:80>
    ServerName pear.example.com
    DocumentRoot /var/www/pearsite

    <Directory /var/www/pearsite>
        AllowOverride All
        Order allow,deny
        Allow from All
    </Directory>
</VirtualHost>

Eu não quero mostrar /var/www/pearsite para as pessoas que digitarem example.com. example.com deve ser proibido.

Existe alguma maneira de conseguir isso com o Apache?

    
por flumpb 15.07.2014 / 00:31

1 resposta

5

Absolutamente - você desejará que um host virtual diferente seja o padrão e que ele atenda 403s.

# This might already be present in your config, add it if not:
NameVirtualHost *:80

<VirtualHost *:80>
  ServerName catchall
  <Location />
    Order allow,deny
    Deny from all
  </Location>
</VirtualHost>

<VirtualHost *:80>
    ServerName pear.example.com
    # your existing config..
</VirtualHost>

Ter o 403ing definido antes do real fará com que ele seja usado como padrão para solicitações que não correspondam ao nome do host de um host virtual diferente.

    
por 15.07.2014 / 00:38