$_SERVER['SERVER_NAME'] / $_SERVER['HTTP_HOST'] - Problem

resterampe

Mitglied
Hallo zusammen,
ich habe folgendes Problem...
ich habe eine Domain meinedomain.de (1)
und eine 2. Domain anderedomain.de (2)

ich möchte jetzt in Abhängigkeit von der Domain diese anzeigen lassen.
dies kann ich ja mit
$_SERVER['SERVER_NAME']
bzw.
$_SERVER['HTTP_HOST']
realisieren....

Dachte ich zumindest, aber irgendwie zeigt der mir immer (1) an auch wenn ich (2) im Browser eingetragen habe...

Kann mir jmd sagen wo mein Denkfehler liegt...
Danke
 
$_SERVER['HTTP_HOST'] sollte funktionieren. Ich mache so etwas auch für meine diversen Domains.

Wenn du allerdings eine Umleitung von der 2. Domain auf die 1. Domain hast, dann bekommt dein Skript ja vom Aufruf der 2. Domain nichts mit. Du musst das also mit deinem Hoster absprechen, wie die 2. Domain auf dem Webspace eingerichtet ist.

Es müsste dann so sein, dass du die 2. Domain in der URL auch dauerhaft sehen kannst, wenn du sie im Browser eingibst.

Beispiel:
http://www.lernpilot.de/ -> zeigt dauerhauft lernpilot.de
http://www.sehen-und-lernen.de/ -> zeigt dauerhaft auf sehen-und-lernen.de
http://www.heddesheimer.tv/ -> zeigt dauerhaft auf heddesheimer.tv

Die Domain wird dann bei mir immer im Kopfbereich gemäß der Domain angezeigt. Du siehst also, es klappt durchaus mit $_SERVER['HTTP_HOST'].

Gruß Marian
 
Hallo!

Ich habe es grad mal kurz getestet.
Zur Erklärung: meine Domain wird von jemand anderm gehostet als mein Webspace, es ist kein ROOT Server.
Daraus ergibt sich dass die Webseite in einem Frame in der Domain steckt.
Wenn ich meine Seite über meine Domain aufrufe, bleibt diese auch in der Adresszeile stehen.
Ich kann die Seite also sowohl über www.meine-domain.de als auch über www.mein-webhoster.de/~username aufrufen.

Bei $_SERVER['SERVER_NAME'] und $_SERVER['HTTP_HOST'] gibt er mir immer www.mein-webhoster.de wieder.
Wenn ich $_SERVER['HTTP_REFERER'] benutze, funktioniert es nur wenn ich die Seite über www.meine-domain.de aufrufe, im anderm Fall gibt er garnichts zurück.

Daher mein Vorschlag (ungetestet):
PHP:
<?php
$domain1 = "meinedomain.de";
$domain2 = "anderedomain.de";
 
if($_SERVER['HTTP_REFERER'] == $domain1) {
	 $domain = domain1;
} else {
	 $domain = domain2;
}
?>
Dieses könntest Du als eine Konfigurationsdatei anlegen und dann in deinen Seiten includen.
Überall wo dann die Domain ausgegeben werden soll, müsstest Du dann $domain einsetzen.
Könnte so auch mit SERVER_NAME bzw. HTTP_HOST funktionieren.

Ich hoffe es hilft dir irgendwie weiter.

Gruss Dr Dau
 
Du solltest allerdings wissen, dass der HTTP_REFERER nicht zuverlässig ist. Es wird also nicht bei allen deinen Besuchern funktionieren, weil nicht alle Browser den Referer weitergeben.

Gruß Marian
 
@heddesheimer, stimmt, aber in dem Fall müsste ja $domain2 genommen werden?!

@resterampe, Du müsstest es aber sicherlich noch verfeinern, z.b. ob die Domain mit oder ohne www aufgerufen wird.
 
Dr Dau hat gesagt.:
@heddesheimer, stimmt, aber in dem Fall müsste ja $domain2 genommen werden?

Das ist korrekt, nur sollte resterampe das möglichst wissen, dass alle ohne Referer automatisch zu domain2 zugewiesen werden. Wenn man das Problem kennt, kann man eigentlich ganz gut damit Leben.

Gruß Marian
 
@heddesheimer, wenn ich es richtig verstanden habe, verweisen beide Domains auf die selbe Seite, dann dürfte dass also nicht unbedingt stören.
Viel schlimmer währe es wenn er z.b. dieses schreiben würde:
PHP:
<a href="<?php $_SERVER['HTTP_REFERER']; ?>">blabla</a>
Denn dann würde der Link nicht funktionieren wenn der Referer nicht mit übergeben wird.

Wie gesagt, er muss es sicherlich noch weiter ausbauen..... es sollte ja auch nur ein Denkanstoss sein. ;)
 
Zurück