![](https://seccdn.libravatar.org/avatar/d60320664da2f43c8d1433f0f7401f3a.jpg?s=120&d=mm&r=g)
Tobias Wilken wrote:
Wie kann ich (unter Apache) den ServerName bestimmen!! Klar ich kann es in der httpd.conf. Doch steht bei ServerName "The name you define here must be a valid DNS name for your host. " Was soll mir das sagen, bzw was habe ich zu tun?
Tobias,
dein Webserver muss natürlich auch unter dem verwendeten Namen
erreichbar sein.
DNS schafft die Zuordnung zwischen Namen wie z.B. www.suse.de und der
dazugehörigen IP-Adresse (hier: 194.112.123.200). Das heisst, alle von
dir verwendeten Namen müssen mit der richtigen IP aufgelöst werden.
Bei Internet Servern passiert dies eventuell durch Deinen Provider;
Dieser müsste dann die verwendeten Namen eintragen (und die Domains
müssen Dir natürlich gehören). Für Intranet Server kannst Du lokale
Namen verwenden, die dann über einen lokalen Nameserver aufgelöst werden
müssen (siehe 'man named').
Unter Apache kannst Du über die shellvariable HTTP_HOST feststellen
welcher Name zum Aufruf der Seite verwendet wurde.
In "Server parsed HTML" (shtml) kannst Du z.B. folgende Eintrage
verwenden um in Abhängigkeit von dem verwendeten hostnamen
unterschiedliche Inhalte zu zeigen:
--------- CUT --------
<!--#if expr="\"$HTTP_HOST\" = \"host1.meinedomain.de\"" -->
<!--#include virtual="/index.1.html" -->
<!--#elif expr="\"$HTTP_HOST\" = \"host2.meinedomain.de\"" -->
<!--#include virtual="/index.2.html" -->
<!--#else -->
<!--#include virtual="/index.html" -->
<!--#endif -->
--------- CUT --------
Wenn Du "VirtualHost" definitionen in der httpd.conf verwendet, macht
Apache dies automatisch.
Apache verhält sich dann wie mehrere verschiedene Webserver obwohl sich
alle diese Server die gleiche IP Adresse (und den Port) teilen.
Über ServerName wird für eine Definition festgelegt, für welchen Server
sie gilt.