Benni2: Fallunterscheidung funktioniert nicht

Hallo!

Ich habe folgendes Problem: Ich habe einen Webspace, auf den insgesamt 3 Domains zugreifen können. Die Weiterleitung von Strato (meinem Anbieter) kann leider nicht das machen, was ich möchte, darum dachte ich mir ein Javascript aus, was eigentlich mein Problem beheben sollte, was aber nicht ging:
eine der Domains (hartz-online) soll auf die Datei "blogall.php?blogId=2" umgeleitet werden, der Rest auf "blogall.php?blogId=1":

<script language="javascript">  
rest = "http://be-jo.net/blogall.php?blogId=1"  
hartz = "http://hartz-online.net/blogall.php?blogId=2";  
var benni =  encodeURIComponent(document.location.href);  
  
function leit(){  
if (benni=="http://hartz-online.net/") {  
top.location= hartz;  
}  
if (benni=="http://hartz-online.net") {  
top.location= hartz;  
}  
if (benni=="http%3%2F%2Fhartz-online.net%2F") {  
top.location= hartz;  
}  
if (benni=="http%3%2F%2Fhartz-online.net") {  
top.location= hartz;  
}  
if (benni=="http://www.hartz-online.net") {  
top.location= hartz;  
}  
if (benni=="http://www.hartz-online.net/") {  
top.location= hartz;  
}  
if (benni=="http%3%2F%2Fwww.hartz-online.net%2F") {  
top.location= hartz;  
}  
if (benni=="http%3%2F%2Fwww.hartz-online.net") {  
top.location= hartz;  
}  
else {top.location= rest }  
}  
leit()  
</script>

Die gleiche Unterscheidung mit switch(benni) klappt übrigens auch nicht. Die 100 Schreibweise für die eine Domain habe ich gemacht, weil ich nicht weiß, in welcher Art die URL ausgelesen wird. Dabei tritt folgendes Problem auf: ich werde IMMER auf die URL mit der Variablen "rest" umgeleitet, auch wenn ich eine der oberen URL in den Browser eingebe. Wo ist denn der Fehler??
Bitte helft mir! Gruß Benni

  1. Wo ist denn der Fehler??

    Du versuchst eine Umleitung mittels JavaScript zu erledigen, obwohl du PHP verwenden könntest und mit $_SERVER['HTTP_HOST'] immer einen ordentlichen Wert bekommst.

  2. Warum machst Du es Dir so schwer?

    var url = [rest-URL]  
    if (/http%3%2F%2Fhartz\-online\.net/.test(encodeURIComponent(document.location.href)) {  
     url = [hartz-url];  
    }
    

    mit encodeURIComponent hast Du Doppelpunkt und Slashes auf jeden Fall kodiert.

    Das else trifft übrigens nur auf das letzte if zu, da Du nicht mit else-if gearbeitet hast. Ich möchte wetten, dass Du bei der switch-Anweisung die breaks vergessen hast.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Ich möchte wetten, dass Du bei der switch-Anweisung die breaks vergessen hast.

      Sorry, Wette verloren, ich habe sie nicht vergessen.

      Aber ich habe den Code jetzt folgendermaßen geändert und in den head verfrachtet:

      <script language="javascript" type="text/javascript">  
      rest = "http://be-jo.net/blogall.php?blogId=1"  
      hartz = "http://hartz-online.net/blogall.php?blogId=2";  
      var benni =  "<?php  
      print $_SERVER['HTTP_HOST'];  
      ?>"  
      alert(benni)  
      if(benni== "www.hartz-online.net"){  
      top.location= hartz;  
      }  
      else { top.location= rest;  
        
      }
      

      Und siehe da: es klappt!
      @suit: Danke für den genialen Tipp mit PHP!

      Gruß, Benni

      1. Hi,

        var benni =  "<?php
        print $_SERVER['HTTP_HOST'];
        ?>"
        alert(benni)
        if(benni== "www.hartz-online.net"){
        top.location= hartz;
        }
        else { top.location= rest;

        }[/code]
        Und siehe da: es klappt!
        @suit: Danke für den genialen Tipp mit PHP!

        ... den du leider immer noch auf die denkbar unguenstigste Art und Weise umgesetzt hast.
        Suchmaschinen bspw. werden damit auf jeden Fall nicht "umgeleitet".

        Warum machst du denn die Umleitung nicht *serverseitig*, anstatt da irgendwas albernes mit JavaScript zu basteln?

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
        1. Hi

          weil ich nicht weiß, wie es geht!
          Sag es mir bitte.

          Gruß Benni

          1. Hi,

            weil ich nicht weiß, wie es geht!
            Sag es mir bitte.

            Stichwort: Location-Header.

            MfG ChrisB

            --
            „This is the author's opinion, not necessarily that of Starbucks.“
  3. @@Benni2:

    <script language="javascript">

    Hier ist der zweite Fehler. <http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=JavaScript-Bereiche in HTML definieren>

    Der erste Fehler ist, JavaScript (was nicht immer zur Verfügung steht) für etwas einzusetzen, was immer zur Verfügung stehen soll.

    Live long and prosper,
    Gunnar

    --
    Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)