Moin Moin!
Wie kann ich aber im Apache für Subdomains, die ich nicht nutze, angeben dass diese nicht existieren?
Falsche Stelle. NXDOMAIN vom DNS wäre in dem Fall die richtige Antwort.
Ja, ich weiß, das geht mit Strato nicht (so einfach).
Default-VHost (den ersten in der httpd.conf) so konfigurieren, dass er eine brauchbare Fehlerseite ausgibt, idealerweise vielleicht mit Status 404.
Aus einem so konfigurierten Apache:
--- httpd.conf ---
...
Section 2: 'Main' server configuration
...
DocumentRoot "/srv/www/DEFAULT/htdocs"
...
<Directory "/srv/www/DEFAULT/htdocs">
Options ...
AllowOverride ...
Order allow,deny
Allow from all
</Directory>
...
Section 3: Virtual Hosts
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /srv/www/DEFAULT/htdocs
</VirtualHost>
include conf/vhosts/*.conf
--- Ende ---
Automatisches Umleiten aller Tippfehler- und Tippfaulheits-Domains:
--- conf/vhosts/redirects-www.example.com.conf ---
<VirtualHost *:80>
ServerName example.com
ServerAlias example.de
ServerAlias www.example.de
ServerAlias www.exampel.de
ServerAlias exampel.de
ErrorLog ...
CustomLog ...
Redirect permanent / http://www.example.com/
</VirtualHost>
--- Ende ---
"Richtiger" Webserver www.example.com:
--- conf/vhosts/www.example.com.conf ---
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /srv/www/www.example.com/htdocs
<Directory /srv/www/www.example.com/htdocs>
Options ...
AllowOverride ...
Order allow,deny
Allow from all
</Directory>
ErrorLog ...
CustomLog ...
FastCGIExternalServer ...
</VirtualHost>
--- Ende ---
Noch ein "richtiger Server" für eine Subdomain:
--- conf/vhosts/presse.getpraised.com.conf ---
<VirtualHost *:80>
ServerName blafasel.example.com
ServerAlias www.blafasel.example.com
DocumentRoot /srv/www/blafasel.example.com/htdocs
<Directory /srv/www/blafasel.example.com/htdocs>
Options ...
AllowOverride ...
Order allow,deny
Allow from all
IndexOptions ...
HeaderName ...
ReadmeName ...
</Directory>
ErrorLog ...
CustomLog ...
</VirtualHost>
--- Ende ---
In /srv/www/DEFAULT/htdocs liegt eine index.html, die liefert (mit Status 200) einen freundlichen Hinweis, dass für diese URL kein Server konfiguriert sei, und dass man vielleicht doch besser bei www.example.com vorbeischauen sollte.
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".