[CentOS] Strrange behavior of VirtualHosts in Apache (CentOS6)

Mon Nov 13 11:31:58 UTC 2017
Walter H. <walter.h at mathemainzel.info>

Hello,

there is a short explanation about virtual hosts in Apache ...
https://wiki.centos.org/TipsAndTricks/ApacheVhostDefault

the `hostname` gives a different donmain name than what should be hosted ...
e.g.  `hostname` is  host.example.org and the domain to be hosted is
example.com, so I did this:

<VirtualHost 1.2.3.4:80>
ServerName host.example.org
DocumentRoot /var/www/default
</VirtualHost>

# used to get let's encrypt for the mail server
<VirtualHost 1.2.3.4:80>
ServerName mail.example.org
ServerAlias smtp.example.org
DocumentRoot /var/www/mail
</VirtualHost>

<VirtualHost 1.2.3.4:80>
ServerName www.example.com
DocumentRoot /var/www/domain
</VirtualHost>

<VirtualHost 1.2.3.4:80>
ServerAlias *.example.com
DocumentRoot /var/www/catchall
</VirtualHost>

the DocumentRoot directories are empty,
only in /var/www/default I have a PHP script:  host.php
<?php
header( "Content-type: text/plain" );
printf( "Host: '%s'\n", $_SERVER['HTTP_HOST'] );
?>

now the strange behavior;

http://mail.example.org/ <-- works
http://smtp.example.org/ <-- doen't work
http://smtp.example.org/host.php <-- gives the HTTP_HOST (PHP-script),
                                     but why?

http://www.example.com/  <-- works
http://hello.example.com/ <-- doesn't work
http://hello.example.com/host.php <-- gives the HTTP_HOST (PHP-script),
                                      but why?

doesn't work does mean, that access/errors are logged in logfile of wrong
virtual host ...

where is my mistake;

Thanks,
Walter