HTTP_HOST und SERVER_NAME (CGI-Umgebung)
hotti
- webserver
0 suit0 hotti0 suit0 hotti1 Edgar Ehritt0 hotti1 Bob0 hotti0 Edgar Ehritt
Mahlzeit,
s. Thema. Die beiden sind doch immer gleich (bei Hostern), oder gibts da auch Ausnahmen?
Hotte
s. Thema. Die beiden sind doch immer gleich (bei Hostern), oder gibts da auch Ausnahmen?
SERVER_NAME ist der name des Servers in der Konfiguration, HTTP_HOST ist jener der in der HTTP-Anfrage stand - die müssen nicht zwangsläufig übereinstimmen, besonders dann nicht, wenn man mehrere Domains verwendet.
s. Thema. Die beiden sind doch immer gleich (bei Hostern), oder gibts da auch Ausnahmen?
SERVER_NAME ist der name des Servers in der Konfiguration, HTTP_HOST ist jener der in der HTTP-Anfrage stand - die müssen nicht zwangsläufig übereinstimmen, besonders dann nicht, wenn man mehrere Domains verwendet.
Dann geht der Request schief, würde ich sagen. Also ein Request auf
http://example.org
geht schief, wenn der Servername
example.com
ist und es einen Servernamen "example.org" nicht gibt.
Hotte
Wenns um Apache geht, da gibts in den Virtual Hosts natürlich noch ServerAlias - ansonsten wäre man ja auf eine einzelne Domain beschränkt, was ja irgendwie blöd wäre :)
Wenns um Apache geht, da gibts in den Virtual Hosts natürlich noch ServerAlias - ansonsten wäre man ja auf eine einzelne Domain beschränkt, was ja irgendwie blöd wäre :)
Ja, kannst Du bez. "ServerAlias" und den ENV{Variablen s.o.} maln bischen mehr zu sagen? Das ist mir noch nicht so ganz klar.
Viele Grüße,
HTTP_Horst
Hallo Rolf,
Wenns um Apache geht, da gibts in den Virtual Hosts natürlich noch ServerAlias - ansonsten wäre man ja auf eine einzelne Domain beschränkt, was ja irgendwie blöd wäre :)
Ja, kannst Du bez. "ServerAlias" und den ENV{Variablen s.o.} maln bischen mehr zu sagen? Das ist mir noch nicht so ganz klar.
ganz nebenbei wollte ich mal mit der Spezifikation winken wink. Kurz abgerissen entstammen alle Variablen beginnend mit "HTTP_" dem Request:
HTTP-Request | CGI-ENV-VAR
-----------------------------------------------
|
GET / HTTP/1.1 |
Host: rolfrost.de | HTTP_HOST
User-Agent: Firefox/3.0 | HTTP_USER_AGENT
Accept: */* | HTTP_ACCEPT
|
SERVER_NAME ist beim Apache statisch die konfigurierte Angabe in ServerName (ohne Portangabe). ServerAlias wird hingegen nicht in einer ENV-Variable abgebildet. Es ist also möglich, dass HTTP_HOST zu SERVER_NAME abweicht, wenn der Wert des Host-Headers sich mit einem konfigurierten ServerAlias deckt.
Gruß aus Berlin!
eddi
hi Eddi,
SERVER_NAME ist beim Apache statisch die konfigurierte Angabe in ServerName (ohne Portangabe). ServerAlias wird hingegen nicht in einer ENV-Variable abgebildet. Es ist also möglich, dass HTTP_HOST zu SERVER_NAME abweicht, wenn der Wert des Host-Headers sich mit einem konfigurierten ServerAlias deckt.
DankeDir!
Ja, diese CGI-ENV-Vars sind sehr nützlich, ich greife in meinem Scripts gerne auf %ENV zu. Apache und Alias schau ich mir mal genauer an, wenn die Abende wieder länger werden.
Viele Grüße aus Südwest,
Rolf alias Horst
SERVER_NAME ist beim Apache statisch die konfigurierte Angabe in ServerName (ohne Portangabe). ServerAlias wird hingegen nicht in einer ENV-Variable abgebildet. Es ist also möglich, dass HTTP_HOST zu SERVER_NAME abweicht, wenn der Wert des Host-Headers sich mit einem konfigurierten ServerAlias deckt.
Der Wert von SERVER_NAME ist abhängig von der Direktive UseCanonicalName und somit keinesfalls zwangsläufig statisch.
hi,
Der Wert von SERVER_NAME ist abhängig von der Direktive UseCanonicalName und somit keinesfalls zwangsläufig statisch.
Canonical klingt nach Alias ;)
Also wie Eddi schon schrieb....
Danke Euch!
Hotti
Hallo erstmal!
Der Wert von SERVER_NAME ist abhängig von der Direktive UseCanonicalName und somit keinesfalls zwangsläufig statisch.
Aha, danke! :)
Gruß aus Berlin!
eddi