neue URL direkt an Browser übermitteln, ohne JS oder Meta-Refresh zur Weiterleitung?
Ingo
- perl
Boah, was ne Überschrift ?! ;)
Ich hab den Rachen voll, Weiterleitungen mit Perl immer so zu machen, das ich entweder eine Datei lese und sie dann in den Browser schreibe, oder einfach eine leere Seite mit Meta HTTP-Refresh oder 'nem Javascript ausgebe, die dann die Weiterleitung durchführen.
Ich würde gern die neue URL einfach direkt an den Browser übermitteln, mir fiel jedoch bisher nichts ein/auf wie ich das realisieren kann ... Über %Env ? - ich weiß nicht ..... Wer hilft ?
regards,
Ingo
Boah, was ne Überschrift ?! ;)
Ich hab den Rachen voll, Weiterleitungen mit Perl immer so zu machen, das ich entweder eine Datei lese und sie dann in den Browser schreibe, oder einfach eine leere Seite mit Meta HTTP-Refresh oder 'nem Javascript ausgebe, die dann die Weiterleitung durchführen.
Ich würde gern die neue URL einfach direkt an den Browser übermitteln, mir fiel jedoch bisher nichts ein/auf wie ich das realisieren kann ... Über %Env ? - ich weiß nicht ..... Wer hilft ?
regards,
Ingo
Und doch - kaum nachdem ich die Frage stellte, erhielt ich auch schon die Antwort - Wers auch braucht:
Einfach mit Headern arbeiten.
$Redirection = "http://www.drogenfahndung.de";
print "HTTP/1.0 302 Found\n";
print "Location: ",$Redirection,"\n\n";
oder
print "HTTP/1.0 302 Found\n";
print "Window-target: ",$Frame,"\n"
print "Location: ",$Redirection,"\n\n";
um die Ausgabe nach Frame $Frame zu lenken.
Es darf jedoch vorher noch kein anderer Header ausgegeben worden sein (z.B. print "Content-type: text/html\n\n";)
Na denn, 'til next ...
;)
Hi Ingo!
print "HTTP/1.0 302 Found\n";
print "Window-target: ",$Frame,"\n"
print "Location: ",$Redirection,"\n\n";
Es darf jedoch vorher noch kein anderer Header ausgegeben worden sein (z.B. print "Content-type: text/html\n\n";)
Meines Wissens darf man, und wird auch oft gemacht. Ganz alte Browser unterstuetzen den Redirect naemlich unter Umstaenden nicht, fuer diese wird dann noch ein normales Dokument angehaengt:
print << "BYE_BYE";
Window-target: $Frame
Location: $Redirection
Content-type: text/html
<HTML><BODY>This document has moved <A HREF="$Redirection">here</A></BODY></HTML>
BYE_BYE
Auch Bye bye, Calocybe
Hallo Ingo
Dazu gibt es den HTTP-Befehl Location. Gib einfach anstelle des Content-Type den Location-Befehl mit einer vollständigen URI (auf STDOUT) aus.
print "Location: http://www.irgendwas.com/index.html";
Mehr dazu in RFC 2616 zu HTTP 1.1: ftp://ftp.isi.edu/in-notes/rfc2616.txt
Ich hoffe, damit geholfen zu haben.
Grüsse
Tom