Daniel: Redirect

Hallo !
Ich habe ein kleines technisches Problem das ich zu lösen versuche !
Ich besitze eine Hauptdomain mit verschiedenen Codomains. Jede CoDomains zeigt auf das Hauptverzeichnis. Das ist überhaupt nicht praktisch.
Ich brauche dringend einen Sript der ermöglicht, daß aufgrund der angegebenen URL die Besucher in die entsprechenden Unterverzeichnisse umgeleitet werden.

Hier die Hauptdomain : www.leuenberger.de
Meine CoDomains :
www.sexuellermissbrauch.de (Unterverzeichnis missbrauch)
www.heimpaedagogik.de (Unterverzeichnis heimpaedagogik)
www.misshandlung.de (Unterverzeichnis misshandlung)
Eine schnelle Beantwortung meiner Frage wäre super toll. Bitte die Antwort an meine E-Mail Adresse senden.

Lieben Dank und schöne Grüße aus dem kalten Norddeutschland

Daniel

  1. Hallo

    Ich brauche dringend einen Sript der ermöglicht, daß aufgrund der angegebenen URL die Besucher in die entsprechenden Unterverzeichnisse umgeleitet werden.

    Mit ASP hast Du folgende Möglichkeit:
    <%
    Response.Buffer = True
    Select Case LCase(Request.Server.Variables("SERVER_NAME"))
        Case "www.domain1.de": Response.Redirect "/domain1/"
        Case Else: Response.Redirect "/domainx/"
    End Select
    %>

    Eine schnelle Beantwortung meiner Frage wäre super toll. Bitte die Antwort an meine E-Mail Adresse senden.

    Wenn Du eine Antwort möchtest, solltest Du dich schon bemühen, wieder ins Forum zu schauen, da ja der eigentlich Sinn und Zweck eines Forums ist, Antworten auf auftretende Fragen auch der Allgemeinheit zur Verfügung zu stellen.

    1. Hallo

      Ich brauche dringend einen Sript der ermöglicht, daß aufgrund der angegebenen URL die Besucher in die entsprechenden Unterverzeichnisse umgeleitet werden.

      Mit ASP hast Du folgende Möglichkeit:
      <%
      Response.Buffer = True
      Select Case LCase(Request.Server.Variables("SERVER_NAME"))
          Case "www.domain1.de": Response.Redirect "/domain1/"
          Case Else: Response.Redirect "/domainx/"
      End Select
      %>

      Eine schnelle Beantwortung meiner Frage wäre super toll. Bitte die Antwort an meine E-Mail Adresse senden.

      Wenn Du eine Antwort möchtest, solltest Du dich schon bemühen, wieder ins Forum zu schauen, da ja der eigentlich Sinn und Zweck eines Forums ist, Antworten auf auftretende Fragen auch der Allgemeinheit zur Verfügung zu stellen.

      Vielen Dank Stefan, nur leider auf dem Server nicht anwendbar, da er kein ASP unterstützt.

    2. Hallo Daniel !

      Ich hab auf meiner Domain ein PHP3 Subdomainscript gehostet. Dieses wäre durch kleine Änderungen auch für dich geeignet. Ist sehr einfach zu verstehen !

      Code:

      <?php
      IF($HTTP_HOST== "www.flone.de"$HTTP_HOST== "flone.de"){
      header( "Location: http://www.flone.de/flone.de");
      }
      IF($HTTP_HOST== "www.stats.flone.de"$HTTP_HOST== "stats.flone.de"){
      header( "Location: http://www.flone.de/wusage/");
      }
      IF($HTTP_HOST== "www.admin.flone.de"$HTTP_HOST== "admin.flone.de"){
      header( "Location: http://www.flone.de/serversecure/control/");
      }
      echo  "<HTML>\n";
      echo  "<HEAD><TITLE>".$HTTP_HOST. " nicht definiert !</TITLE>\n";
      echo  '<meta http-equiv="refresh" content="3; URL=http://www.flone.de">'. "\n";
      echo  "</HEAD>\n";
      echo  "<BODY>\n";
      echo  "<H2>".$HTTP_HOST. " nicht definiert !</H2>\n";
      echo  '<BR><BR>Klicken Sie <a href="http://www.flone.de">hier</a> um auf die Startseite zu gelangen'. "\n";
      echo  "<HR>\n";
      echo  "</BODY>\n";
      echo  "</HTML>\n";
      ?>

      Mfg.
      Florian Neumeyer

      1. Hallo Daniel !

        Ich hab auf meiner Domain ein PHP3 Subdomainscript gehostet. Dieses wäre durch kleine Änderungen auch für dich geeignet. Ist sehr einfach zu verstehen !

        Code:

        <?php
        IF($HTTP_HOST== "www.flone.de"$HTTP_HOST== "flone.de"){
        header( "Location: http://www.flone.de/flone.de");
        }
        IF($HTTP_HOST== "www.stats.flone.de"$HTTP_HOST== "stats.flone.de"){
        header( "Location: http://www.flone.de/wusage/");
        }
        IF($HTTP_HOST== "www.admin.flone.de"$HTTP_HOST== "admin.flone.de"){
        header( "Location: http://www.flone.de/serversecure/control/");
        }
        echo  "<HTML>\n";
        echo  "<HEAD><TITLE>".$HTTP_HOST. " nicht definiert !</TITLE>\n";
        echo  '<meta http-equiv="refresh" content="3; URL=http://www.flone.de">'. "\n";
        echo  "</HEAD>\n";
        echo  "<BODY>\n";
        echo  "<H2>".$HTTP_HOST. " nicht definiert !</H2>\n";
        echo  '<BR><BR>Klicken Sie <a href="http://www.flone.de">hier</a> um auf die Startseite zu gelangen'. "\n";
        echo  "<HR>\n";
        echo  "</BODY>\n";
        echo  "</HTML>\n";
        ?>

        Mfg.
        Florian Neumeyer

        Hallo Florian

        Vielen Dank für den Script, ich werde ihn gleich mal abändern und versuchen. Falls ich Probleme habe, erfährst Du es hier !

        Liebe Grüße aus dem Osnabrücker Land

        Daniel

  2. hi daniel,

    falls Du mit JavaScript umgehen kannst, dann probier mal etwas in der Art:

    var x = self.location + "xxxxxxxxxxxxxxxxxxxxxxxxxx";
    if ( (x.substring(0, *) != "www.sexuellermissbrauch.de ")
    window.location="http://<dein Ziel>";

    Statt "*" die Länge des Strings von "www.sexuellermissbrauch.de" angeben.

    Das ganze für deine anderen Domains wiederholen.

    Funktioniert nur, wenn die Seite mit einem Browser mit aktiviertem JafaScript angegeben  wird, deshalb unbedingt eine <noscript>-Sektion mit angeben.

    Ansonsten: ich habe auch mehrere URLs, die auf die gleiche IP bzw. auf den gleichen Webspace zielen. Ich verwende allerdings nich die JS-Lösung sondern eine (absolut problemlos funktionierende) Perl-Lösung. Falls Du die Möglichkeit hast, Perl und SSI bei deinem Webhost einzusetzen, melde Dich bitte nochmal hier im Forum.

    Ciao
       K@rl

    1. Hallo K@rl !

      Ansonsten: ich habe auch mehrere URLs, die auf die gleiche IP bzw. auf den gleichen Webspace zielen. Ich verwende allerdings nich die JS-Lösung sondern eine (absolut problemlos funktionierende) Perl-Lösung. Falls Du die Möglichkeit hast, Perl und SSI bei deinem Webhost einzusetzen, melde Dich bitte nochmal hier im Forum.

      Ich wäre Dir sehr dankbar, wenn Du dieses Script hier oder auf Deiner Page der Allgemeinheit zur Verfügung stellen könntest.. arbeite nämlich selber derzeit an einer ähnlichen Geschichte (und das funzt nicht so wie gedacht ;-).

      Gruss Pepe

      1. Ich wäre Dir sehr dankbar, wenn Du dieses Script hier oder auf Deiner Page der Allgemeinheit zur Verfügung stellen könntest.. arbeite nämlich selber derzeit an einer ähnlichen Geschichte (und das funzt nicht so wie gedacht ;-).

        Gruss Pepe

        Hallo Pepe,

        werd' ich machen, kann aber noch etwas dauern, da ich erst noch ein paar Sachen kommentieren muß (ist nicht 100% selbsterklärend). --> kann noch ein paar Tage dauern (je nachdem, wie ich dazu komme). Für den Perl-Kundigen vorab mal der Kern der Lösung:

        Kern des Redirects

        hier im Beispiel:

        - bei Aufruf von hugo.com und hugo.de wird "hugo.html" geladen

        - bei Aufruf von blablanet.de, blabla-net.de und ähnlichem und bei

        #   noch-ne-domain.de wird "eine-startdatei.html" geladen

        - .. und zum testen bei localhost kommt "ist-nicht-da.html"

        - durch die "i" option beim Vergleich ("/i") isses egal,

        #   ob z.B. hugo.com oder HUGO.com eingegeben wird.

        - in den jeweiligen Dateien ("hugo.html" etc.) befindet sich der

        #   vollständige HTML Code der jeweiligen Startpage. In diesen Dateien
        #   sollten dann alle Links auf die jeweiligen Unterverzeichnisse verweisen,
        #   in denen sich der Rest der HTML-Dateien für die entsprechende
        #   Domain befinden.

        $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);

        Anmerkung: kann man auch einfacher machen: einfach open + datei ausgeben + close

        ---------------

        Die Datei index.shtml, in der das SSI eingebunden wird ist sehr groß - ich gebe sie her aber dennoch vollständig wieder:

        <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN">  
        <!--#exec cgi="/cgi-local/pcp\_ssi\_redirect\_1.pl" -->  
        ~~~~~~~schnapp~~~~~~~~~  
          
        \--> das war's   
          
        Ich hoffe, das reicht. Viel Spaß beim Basteln!  
          
          
        PS: bei der JavaScript-Lösung ist ein Fehler drin. Es muß natürlich auf Gleichheit und nicht auf Ungleichheit (== und nicht !=) getestet werden. .. aber das habt ihr ja sicher selbst schon bemerkt ;-)  
          
        
        
        1. PS:

          /*en (TEMPLATE,$Templa*/; print "Kann $Template nicht öffnen!";

          ich weiß auch nicht, warum Perl (mit dem ja auch dieses Forum geschrieben ist), immer das "open" auskommentiert. Die Zeile muß also Lauten (mal sehen, ob's jetzt klappt:

          o-p-e-n (TEMPLATE,$Template) print "Kann $Template nicht öffnen!";

          bitte das "o-p-e-n" gegen "open" austauschen

          1. Hallo K@rl !

            Danke für Deine Mühe..

            Gruss Pepe

        2. tja - nicht aufgepaßt (sorry!)

          wegen
          cgi-local/pcp_ssi_redirect_1.pl
          in der Datei index.shtml
          --> so heißt bei mir das Script - bei euch halt entsprechende zu benennen

    2. hi daniel,

      falls Du mit JavaScript umgehen kannst, dann probier mal etwas in der Art:

      var x = self.location + "xxxxxxxxxxxxxxxxxxxxxxxxxx";
      if ( (x.substring(0, *) != "www.sexuellermissbrauch.de ")
      window.location="http://<dein Ziel>";

      Statt "*" die Länge des Strings von "www.sexuellermissbrauch.de" angeben.

      Das ganze für deine anderen Domains wiederholen.

      Funktioniert nur, wenn die Seite mit einem Browser mit aktiviertem JafaScript angegeben  wird, deshalb unbedingt eine <noscript>-Sektion mit angeben.

      Ansonsten: ich habe auch mehrere URLs, die auf die gleiche IP bzw. auf den gleichen Webspace zielen. Ich verwende allerdings nich die JS-Lösung sondern eine (absolut problemlos funktionierende) Perl-Lösung. Falls Du die Möglichkeit hast, Perl und SSI bei deinem Webhost einzusetzen, melde Dich bitte nochmal hier im Forum.

      Ciao
         K@rl

      Hi K@arl,

      dein Ratschlag ist wirklich genial, muss nur noch sehen ob er auch auf meinem Server funtioniert. Ich habe übrigens auch die Möglichkeit freie CGI's und Perl zu verwenden.

      Liebe Grüße

      Daniel Leuenberger

    3. hi daniel,

      falls Du mit JavaScript umgehen kannst, dann probier mal etwas in der Art:

      var x = self.location + "xxxxxxxxxxxxxxxxxxxxxxxxxx";
      if ( (x.substring(0, *) != "www.sexuellermissbrauch.de ")
      window.location="http://<dein Ziel>";

      Statt "*" die Länge des Strings von "www.sexuellermissbrauch.de" angeben.

      Das ganze für deine anderen Domains wiederholen.

      Funktioniert nur, wenn die Seite mit einem Browser mit aktiviertem JafaScript angegeben  wird, deshalb unbedingt eine <noscript>-Sektion mit angeben.

      Ansonsten: ich habe auch mehrere URLs, die auf die gleiche IP bzw. auf den gleichen Webspace zielen. Ich verwende allerdings nich die JS-Lösung sondern eine (absolut problemlos funktionierende) Perl-Lösung. Falls Du die Möglichkeit hast, Perl und SSI bei deinem Webhost einzusetzen, melde Dich bitte nochmal hier im Forum.

      Ciao
         K@rl

      Hi Leute,

      vielen Dank für die Unterstützung bei meinem Problem. Ich habe mich genau an deine Anleitungen gehalten und siehe da : es funktioniert absolut perfekt.

      Dafür brauchte ich nur den Sript in Word schreiben und als TXT abspeichern. Anschließend habe ich den Script umbenannt zu index.PHP3. Nun haben sich alle meine Probleme wie in Luft aufgelöst und ich weiß, daß noch viele diese dasselbe Problem haben. Angeblich, laut meinem Provider Puretec, soll dies nicht gehen. Pustekuchen sage ich Euch.

      Karl, für die Hilfe hast Du dir ein Platz im Himmel ergattert.

      Liebste Grüße und erhwürdigen Dank, insbesonderen Dir Karl. Wenn ich wieder ein Problem habe, dann werde ich auf jedem Fall in diesem Forum vorbeischauen. Und vielen Freunden werde ich euer Forum empfehlen.

      Daniel aus dem Osnabrücker Land

    4. Für die Mitleser noch kurz eine Anmerkung / Korrektur:

      if ( (x.substring(0, *) != "www.sexuellermissbrauch.de ")

      Das Ungleich ("!=") ist hier natürlich falsch - es muß "==" sein (und das Blank am Ende "....de " würde ich auch weglassen)

      Was ich noch empfehlen möchte - nicht nur wegen der nicht JavaScript-fähigen Browser sondern viel wichtiger für die Suchmaschinen (die idR kein JS auswerten):

      <NOSCRIPT>
      <a href="www.sexuellermissbrauch.de">hier Klicken für die Seiten von Sexueller Mißbrauch</a>
      <a href .......
      </NOSCRIPT>

      und noch als Entschulgigung an alle, daß mir dieser Thread so ungeordnet geraten ist (ja, ich *habe* die FAQ gelesen ;-): ich hab vorhin nebenher 'n paar Downloads gemacht und SW installiert .. und da bin ich nich *so* konzentriert, wie man beim posten in dieses ehrenwerte Forum sein sollte :-)