Rose: Umleitung

Hallo, ich möchte zwei Versionen meiner Webseiten vorstellen. Festgestellt habe ich, dass bei Vorhandensein von index.html und index.php die Seite index.html aufgerufen wird. Deshalb habe ich mir gedacht:

  • Aufruf xxxxxx..de = Die Variante von index.html wird ausgeführt
  • Aufruf xxxxxx..de?irgendwas = Die Variante von index.php wird ausgeführt

D.h. in index.html muss eine Umleitung zu index.php erfolgen.

(Wie) geht so etwas am einfachsten?

  1. @@Rose

    Festgestellt habe ich, dass bei Vorhandensein von index.html und index.php die Seite index.html aufgerufen wird. Deshalb habe ich mir gedacht:

    • Aufruf xxxxxx..de = Die Variante von index.html wird ausgeführt
    • Aufruf xxxxxx..de?irgendwas = Die Variante von index.php wird ausgeführt

    D.h. in index.html muss eine Umleitung zu index.php erfolgen.

    (Wie) geht so etwas am einfachsten?

    Andersrum. Du sagst deinem Server, dass er index.php ausführen soll (DirectoryIndex). In diesem PHP-Script prüfst du, ob ein Query vorhanden ist. Wenn nicht, leitest du auf index.html um.

    LLAP 🖖

    --
    „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
  2. hallo

    Hallo, ich möchte zwei Versionen meiner Webseiten vorstellen. Festgestellt habe ich, dass bei Vorhandensein von index.html und index.php die Seite index.html aufgerufen wird. Deshalb habe ich mir gedacht:

    • Aufruf xxxxxx..de = Die Variante von index.html wird ausgeführt
    • Aufruf xxxxxx..de?irgendwas = Die Variante von index.php wird ausgeführt

    D.h. in index.html muss eine Umleitung zu index.php erfolgen.

    (Wie) geht so etwas am einfachsten?

    -- Meine Lösung:

    https://beat-stoecklin.ch/pub/designSwitcher.html

    RewriteCond %{HTTP_COOKIE} ^.*mainjsRedirect=([1-9]).*$ [NC]
    RewriteRule ^js/main.js$ "https://beat-stoecklin.ch/js/main%1.js" [R=302,L]
    

    Es wird das Vorhandensein eines Cookies geprüft, das zu diesem Zweck extra erstellt wird. Umleitungen betreffen aber nicht die Content-URIs sondern lediglich die eingebundenen Ressourcen (hier die main.js, die effektiv für alle website-übergreifenden Elemente zuständig ist).

  3. Hej Rose,

    D.h. in index.html muss eine Umleitung zu index.php erfolgen.

    Wozu? Wenn index.html eh nur weiterleiten soll, lösch sie einfach. Dann liefert der Server automatisch die index.php aus…

    Marc

    1. Hallo marctrix

      Wozu? Wenn index.html eh nur weiterleiten soll, lösch sie einfach. Dann liefert der Server automatisch die index.php aus…

      Wie kommst Du darauf? Es gibt doch 2 unterschiedliche Fälle!

      1. Hej Rose,

        Wozu? Wenn index.html eh nur weiterleiten soll, lösch sie einfach. Dann liefert der Server automatisch die index.php aus…

        Wie kommst Du darauf? Es gibt doch 2 unterschiedliche Fälle!

        Das habe ich nicht verstanden. – Bis jetzt nicht. Muss ich noch mal zurück auf Start, ob ich da was überlesen habe.

        Marc

        1. Hej marctrix,

          Das habe ich nicht verstanden. – Bis jetzt nicht. Muss ich noch mal zurück auf Start, ob ich da was überlesen habe.

          Ok, habe ich. Was ist denn der Grund dafür, dass beide index.xxx heißen müssen. Macht das Sinn zwei Angebote unter einer Adresse zu haben? Wie sollen Nutzer vorhersehen oder auch nur verstehen warum was kommt? Wenn ich in meine Adresse www.example.com eingebe und je nachdem, was einer der von mir verwendeten Browser aufgrund meiner surfhistorie autovervollständigt, sehe ich eine andere Site. Wie soll ich auf den Grund dafür kommen, wie das verstehen?

          Meiner Meinung nach geht das nicht. Und dabei kann ich sehen. Wie muss sich das erst für Blinde anfühlen!

          Marc

  4. Hallo,

    ich möchte zwei Versionen meiner Webseiten vorstellen. Festgestellt habe ich, dass bei Vorhandensein von index.html und index.php die Seite index.html aufgerufen wird. Deshalb habe ich mir gedacht:

    • Aufruf xxxxxx..de = Die Variante von index.html wird ausgeführt
    • Aufruf xxxxxx..de?irgendwas = Die Variante von index.php wird ausgeführt

    D.h. in index.html muss eine Umleitung zu index.php erfolgen.

    (Wie) geht so etwas am einfachsten?

    Keine Umleitung. Vielmehr ist das eine Frage, welche Ressource für den Index auf example.com/ konfiguriert ist. Diese Ressource muss lediglich dazu befähigt werden, mit Parametern im Request entsprechend umzugehen, also ggf. bei example.com/?irgendwas einen anderen Inhalt auszuliefern.

    Wenn bspw. beim Request auf example.com/ die Datei index.php angezogen wird, baust Du dort eine entsprechende Kontrollstruktur ein.

    MfG

    1. @@pl

      … baust Du dort eine entsprechende Kontrollstruktur ein.

      Bingo!

      LLAP 🖖

      --
      „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
      1. Hej Gunnar,

        @@pl

        … baust Du dort eine entsprechende Kontrollstruktur ein.

        Bingo!

        Nein, nicht Bingo - ich bin im Vorteil, weil ich den Ursprungspost zweimal gelesen habe. Da steht, dass index.html zuerst geladen wird.

        @rose da wirst du dem Webserver (vermutlich Apache) sagen müssen, dass er die index.php zuerst ausliefern soll, wenn nur die Domain angefordert wird.

        Marc

        1. @@marctrix

          … baust Du dort eine entsprechende Kontrollstruktur ein.

          Bingo!

          Nein, nicht Bingo

          Doch Bingo. „Kontrollstruktur“ war noch nicht angekreuzt auf meinem Bingozettel. Habe schon sehnsüchtig drauf gewartet, dass es jemand sagt. Auf Hotti ist Verlass!

          Damit war die Reihe voll. Gewonnen!

          LLAP 🖖

          --
          „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
          1. Hallo Gunnar,

            dann ruft man aber ein anderes B-Wort.

            Rolf

            --
            sumpsi - posui - clusi
            1. Hallo,

              dann ruft man aber ein anderes B-Wort.

              Vielleicht hat er bloß das ullshit-B vermieden, damits kürzer ists…

              Gruß
              Kalk

            2. hi @Rolf B

              die heutigen Programmierer wissen doch gar nicht, was eine Kontrollstruktur ist. Aber ich gebe zu, Struktogramme sind auch nicht mein Ding.

              MfG

              1. Hallo pl,

                die heutigen Programmierer wissen doch gar nicht, was eine Kontrollstruktur ist.

                „Get off my lawn!!11“ 👴

                LG,
                CK

              2. hallo

                hi @Rolf B

                die heutigen Programmierer wissen doch gar nicht, was eine Kontrollstruktur ist.

                Programmierer wissen oft nicht worüber andere reden. Sie verwalten Worthülsen.

                --
                Neu im Forum! Signaturen kann man ausblenden!
                1. hallo

                  Programmierer wissen oft nicht worüber andere reden. Sie verwalten Worthülsen.

                  Kein Problem, Wikipedia erklärt alles.

                  MfG

        2. hi,

          Nein, nicht Bingo - ich bin im Vorteil, weil ich den Ursprungspost zweimal gelesen habe. Da steht, dass index.html zuerst geladen wird.

          Wie wärs's mit Rewrite? Da wird jeder Request auf einen Prozess (ScriptAlias) umglegt und die Streiterei ob index.??? hat ein Ende 😉

          Oder Anders ausgedrückt: Weg von der Serverkonfiguration bezüglich eines Index.

          MfG

    2. Hallo,

      Danke für die erschöpfende Antwort!

      Wenn bspw. beim Request auf example.com/ die Datei index.php angezogen wird, baust Du dort eine entsprechende Kontrollstruktur ein.

      Nach dieser entsprechenden Kontrollstruktur habe ich hier im Forum gefragt.

      1. Hallo,

        Nach dieser entsprechenden Kontrollstruktur habe ich hier im Forum gefragt.

        Ok, dann unterscheiden wir mal zwischen einem einfachen Query-String, ?asdf wäre ein Solcher, und einem Parameter, z.B. ?ff=123

        D.h., Parameter sind das was sich ergibt, wenn der Query-String strukturiert ist entsprechend dem Content-Type application/x-www-form-urlencoded. Das sind also Schlüssel=Wert Paare.

        Während der native Query-String in $_SERVER['QUERY_STRING'] zu finden ist, liegen die von PHP erkannten Parameter in $_GET oder $_POST, je nach Request-Methode.

        Und nun bist Du dran 😉

        MfG