Ankündigung

Einklappen
Keine Ankündigung bisher.

mod rewrite mit SESSION

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mod rewrite mit SESSION

    Hallo

    Auf einer Seite kann der User einen bestimmten Seitenparameter per Get steuern.

    zb. meineseite.de?farbe=blau

    Diesen Get Parameter muss ich nicht ständig mitgeben beim weitersurfen, da dieser in einer Session gespeichert wird.

    Jetzt kam mir aber die Idee, dennoch diesen Parameter mod rewrite mässig wegen der Optik weiterzugeben.

    also: meinesete.de/farbe/blau

    Klar könnte ich jetzt schlicht vor jeden Link auf der Seite den Parameter mit übergeben. Da aber die SESSION ja immer verfügbar ist habe ich gehofft es gäbe eine PHP Lösung die das automatisiert.

    Also das auch der Klick auf meineseite.de/Navigator/4 in der URL als meineseite.de/farbe/blau/Navigator/4 erscheint.

    Ist sowas irgendwie möglich?


  • #2
    Warum möchtest du das tun? Kann ich nicht nachvollziehen. Das in einer Session-Variable zu speichern ist die ideale Vorgehensweise. Oder hast du einen besonderen Grund?

    Kommentar


    • #3
      Reine URL Optik. Damit der Besucher anhand der URL sieht, Aha, jetzt läuft die Seite gerade unter diesem Parameter. Mehr steckt nicht dahinter

      Kommentar


      • #4
        Also das auch der Klick auf meineseite.de/Navigator/4 in der URL als meineseite.de/farbe/blau/Navigator/4 erscheint.
        So etwas geht nicht (dh. du kannst nicht eine URL als eine andere URL erscheinen lassen). Was der Benutzer in seinen Browser eintippt, ist durch nichts beeinflussbar.

        Was aber geht ist:
        - Umleitung auf die neue Ziel URL (dann erscheint die neue Adresse auch in der Browseradresszeile)
        - mod_rewrite (damit kannst du eine URL auf eine andere URL umschreiben, das beeinflusst aber nicht, was in der Adresszeile steht)
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Zitat von Labrar Beitrag anzeigen
          Klar könnte ich jetzt schlicht vor jeden Link auf der Seite den Parameter mit übergeben. Da aber die SESSION ja immer verfügbar ist habe ich gehofft es gäbe eine PHP Lösung die das automatisiert.
          Darauf läuft es hinaus. Entweder schreibst du eine Funktion die du für alle Links benutzt und die entsprechend erweitert:

          Z.B.:

          PHP-Code:
          function buildUrl($url) { //geht so nur bei absoluten urls, für relative müsste der aktuelle pfad berücksichtigt werden
              if(isset($_SESSION['farbe'])) {
                  $url = '/farbe/blau'.$url;
              }
              
              return $url;
          }

          <a href="<?=buildUrl('/blub/di/dub');?>">...
          Oder du pfuschst richtig rum, fängst die Ausgabe von deinen bestehenden Scripten mit dem Output Cache ab und modifiziert dann die Links.

          Kommentar


          • #6
            Ja das dachte ich mir schon. Danke euch allen

            Kommentar


            • #7
              Man muss sich eigentlich nur einen RouteBuilder bauen, der so was dann kann.
              Standards - Best Practices - AwesomePHP - Guideline für WebApps

              Kommentar

              Lädt...
              X