Konfusion: cgi redirect ergibt =>Status: 302 Moved location: http://...

Beitrag lesen

Hallo alle,

ich konnte die Lösung zu folgendem Problem leider noch nicht finden, vielleicht kann mir da jemand weiterhelfen?

Das Perl soll nur auslesen, ob Benutzername und Passwort stimmen (gemeinsame Zugangsdaten für alle User) und dann auf eine URL weiterleiten. Man könnte zwar eine HTML-Datei mit <meta http-equiv="refresh"...> ausgeben lassen, aber das wäre doch recht unelegant, auch wegen eben dieser für eine Sekunde zwischengeschalteten Datei.

Ich habe zwei Code-Varianten, die beide dasselbe ausspucken:
Status: 302 Moved location: http://www.meinedomain.de/ordner/datei.html

Ich habe im Forums-Archiv etwas gelesen von CGI-Header, hat mich aber nicht weitergebracht.

Jetzt die beiden Code-Varianten:
----------------------------------------------------------------------------
#!/usr/local/bin/perl -w

use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use CGI qw(param url);

print "content-type: text/html\n\n";
print "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\n";

my $cgi = new CGI;

my $url = "http://www.meinedomain.de/ordner";
my $go  = "$url/datei.html";
my $err = "$url/error.html";

my $user  = "super";
my $passw = "toll";

if ((param("Benutzer") eq $user) and (param("Pass") eq $passw)) {
 print $cgi->redirect($go);
} else {
 print $cgi->redirect($err);
}
----------------------------------------------------------------------------
#!/usr/local/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);
use CGI qw(param url redirect);

print "content-type: text/html\n\n";
print "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\n";

my $url = "http://www.meinedomain.de/ordner";
my $go  = "$url/datei.html";
my $err = "$url/error.html";

my $user  = "super";
my $passw = "toll";

if ((param("Benutzer") eq $user) and (param("Pass") eq $passw)) {
    print redirect($go);
} else {
    print redirect($err);
}
----------------------------------------------------------------------------

Vielleicht hat jemand die rettende Idee? ;-)

Danke schonmal, schönen Sonntag

Robin