O que eu estou tentando fazer é mostrar uma página quando um domínio é visitado, mas se alguém tentar visitar diretamente por ip (e não usando o domínio), eu quero mostrar a ele outra página.
Hospedagem apache baseada em nome clássico, certo?
Bem, minha única pergunta é o que devo colocar em ServerName e / ou ServerAlias?
O que eu fiz até agora é descomentar esta linha:
NameVirtualHost *:80
e eu configurei 2 hosts virtuais como este (informações específicas ocultas):
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/vhosts/default/
ServerName {my-dedicated-ip}
ErrorLog /var/www/vhosts/default/error.log
CustomLog /var/www/vhosts/default/custom.log gk
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/vhosts/something/httpdocs/
ServerName valid-domain.com
ServerAlias *.valid-domain.com
ErrorLog "| /usr/sbin/rotatelogs -l /var/www/vhosts/something/logs/error.log.%Y.%m.%d 86400"
CustomLog "| /usr/sbin/rotatelogs -l /var/www/vhosts/somthing/logs/custom.log.%Y.%m.%d 86400" gk
</VirtualHost>
mas infelizmente não funciona.
Obrigado antecipadamente.
EDIT: Ah, e eu tenho um único ip dedicado.
Também encontrei isto: Como posso fazer com que o Apache não responda a uma solicitação somente de IP? de acordo com a qual minha configuração deve funcionar. Deve visitar o primeiro vhost que encontrar. Mas isso não acontece. Vai para o segundo.
EDITAR:
saída apachectl -S:
[root@me conf.d]# apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server domain.com (/etc/httpd/conf/httpd.conf:1015)
port 80 namevhost {my-dedicated-ip} (/etc/httpd/conf/httpd.conf:1015)
port 80 namevhost valid-domain.com (/etc/httpd/conf/httpd.conf:1023)
wild alias *.vaild-domain.com
Syntax OK
e sim os 2 vhosts estão no mesmo arquivo.