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