Moin!
Drum traue ich mich, jetzt nochmal die Frage zu wiederholen: was muss ich fuer Konsequenzen befuerchten, wenn ich es doch so lasse?
Dass die Weiterleitung nicht funktioniert und der HTTP-Client so im Niemandsland hängenbleibt.
Mit anderen Worten: Es passiert das Schrecklichste, was man sich vorstellen kann: Deine Seite geht kaputt!
Was die unterschiedlichen Hostnamen angeht: PHP weiß in $_SERVER['HTTP_HOST'], welchen Hostnamen der Browser beim Aufruf verwendet hat. Den kannst du 1:1 übernehmen.
Außerdem weiß PHP in $_SERVER['REQUEST_URI'] und anderen Werten (mußt du mal gucken, was für dich zutrifft), welche absolute URL angefordert wurde, um dein Skript aufzurufen, welches dann die Weiterleitung senden soll.
Mit anderen Worten: Du kannst dir aus deiner bisherigen, relativen Angabe der URL und diesen beiden Werten eine absolute URL basteln, die sich dynamisch an die tatsächlichen Verhältnisse anpasst. Am sinnvollsten machst du da eine eigene Funktion draus, die du "redirect('../relative/url.html')" nennst und eben relativ fütterst. Diese Funktion kann dann erstmal prüfen, ob die header schon gesendet wurden (das gibt immer so unschöne Fehlermeldungen), und dann die absolute URL zusammenbasteln und mit header() wegschicken. Ein abschließendes exit(); könnte das Skript davor bewahren, nachträglich noch Unsinn an den Browser zu senden, ist aber wirklich optional.
- Sven Rautenberg
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|