Maik W. aus E.: Redirect mit cgi ins Unterverzeichnis

Beitrag lesen

Guten Tag, alle zusammen,
ich habe hier http://www.teamone.de/selfhtml/sfarchiv/1999_4/t09373.htm#a47365 eine sehr schöne Lösung zur Umleitung einer Zweitdomain in ein Unterverzeichnis der Erstdomain gefunden. Alerdings habe ich scheinbar ein Brett vor dem Kopf, denn irgendwie kriege ich das nicht auseinander bzw. zusammen. Fangen wir mit dem an, das mir klar ist:

index. shtml:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN">
<!--#exec cgi="/cgi-local/pcp_ssi_redirect_1.pl" -->

/cgi-local/pcp_ssi_redirect_1.pl:

$http_host = $ENV{"HTTP_HOST"};
$request_uri = $ENV{"REQUEST_URI"};
$document_name = $ENV{"DOCUMENT_NAME"};

......

if     ($http_host =~ /hugo.com/i)
       {$RedirectTemplateFile = "hugo.html";}
elsif  ($http_host =~ /hugo.de/i)
       {$RedirectTemplateFile = "hugo.html";}
elsif  ($http_host =~ /blabla.*net.de/i)
       {$RedirectTemplateFile = "eine-startdatei.html";}
elsif  ($http_host =~ /noch-ne-domain.de/i)
       {$RedirectTemplateFile = "eine-startdatei.html";}
elsif  ($http_host =~ /localhost/i)
       {$RedirectTemplateFile = "ist-nicht-da.html";}
else   {$RedirectTemplateFile = "ist-nicht-da.html";}

......

$Template = $Home . $RedirectTemplateFile; # Die Variable $Home muß natürlich  vorher
       # mit dem vollständigen Pfad auf
       # das Root-Verzeichnis der Webpage
       # versehen sein (-> bei der Doku zu eurem
       # Webserver nachlesbar). Ist normalerweise
       # etwas in der Art
       # "/user/webpages/account-name/" .. oder so ..

Die Template-Datei, die sich in dem durch $Home festgelegten Verzeichnis befinden muß

wird geöffnet und ausgegeben. Dabei wird an jeder Stelle, an der in der Template-Datei

die Zeichenkette "<!--THEURL-->" (ohne Anführungsstriche) gefunden wird, die eingetippte

URL eingesetzt.

print "Content-Type: text/html\n\n";  # die "magische" Zeile am Anfang ...

open (TEMPLATE,$Template) print "Kann $Template nicht öffnen!";
while (<TEMPLATE>) {
      if (/<!--THEURL-->/) {
         print "<font color=red>http://", $http_host, "</font><font color=green>", $request_uri, "</font>";
      }
      print;
}
close (TEMPLATE);

nur mit dem Template hapert es noch, muß ich das jetzt anlegen, wird es erzeugt? habe ich da was ganz falsch verstanden?

Kann jemand von Euch (oder vielleicht K@rl selbst) diese Lücke schließen?

Veilen Dank im Voraus

Grüße

Maik