Verliere Session [mod_rewrite]

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

  • Verliere Session [mod_rewrite]

    Ich habe eine Ausgabe von einer Methode, dabei wird allerdings nicht die SID automatisch angehängt. session.use_cookies ist auf false gesetzt. Bei einem Link darunter wird die SID angehängt (Versteh nicht warum nicht auch beim oberen Link).
    Auf der verlinkten Seite habe ich zwei weitere Links. Der erste führt zurück mit mod_rewrite, der zweite ohne mod_rewrite. Beide Links führen zwar zur gewünschten Seite, jedoch verlier ich beim oberen Link die Session.

    Zeile die von der Funktion zurück gegeben wird:
    PHP-Code:
    $back .= "<ul>\n";
    while(
    $iterator3->hasNext()) {
            
    $obj3 $iterator3->next();
            
    $back .= "<li><a href=\"http://".$_SERVER['SERVER_NAME']."/".$this->lang."/
    "
    .$obj3->getUrlname().".html\">".$obj3->getName()."</a></li>\n";
    }
    $back .= "</ul>\n"
    Ausgabe:
    PHP-Code:
    echo $createMenu->getSecondThirdLevel(); //gibt oben erzeugten Code aus.
    echo "\n<a href=\"/region.php5?lang=DE&amp;page=region\">region</a>"
    .htaccess Zeile:
    PHP-Code:
    RewriteEngine on
    RewriteRule 
    ^([A-Z]+)/([a-zA-Z0-9]+).html$ /$2.php5?lang=$1&page=$
    Also zwei Fragen hab ich nun, wieso wird beim oberen Link die SID nicht angehängt (jedoch beim unteren Link)? Wieso verlier ich die Session auf der verlinkten Seite wenn ich den oberen Link anklicke?

    LiveBeispiel

    MfG Markus

  • #2
    du möchtest dich im Manual über session.use_trans_id informieren

    Kommentar


    • #3
      Re: Verliere Session [mod_rewrite]

      meine funktion think() liefert folgende ausgabe:

      wo hängt PHP die SID ggf. automatisch an ...?
      bei internen links.

      wodurch unterscheidet sich ein interner link aus sicht von PHP von einem externen?
      ein interner link ist relativ zum verzeichnis oder zum webroot der domain angegeben, ein externer mit http://example.com/...

      welcher deiner beiden links ist also ein interner, bei dem PHP die SID automatisch anhängt, und welcher ein "externer", bei dem PHP aus sicherheitsgründen darauf verzichtet ...?




      wieso kann deine funktion think() das nicht? ist sie defekt ...?
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        OK, damit wäre eine Frage beantwortet. (THX)

        Jetzt zur zweiten. wieso verlier ich die session wenn ich über die oberen Links navigiere.

        Hab das Beispiel upgedatet.

        MfG Markus

        Kommentar


        • #5
          Original geschrieben von markusschmitt
          OK, damit wäre eine Frage beantwortet. (THX)

          Jetzt zur zweiten. wieso verlier ich die session wenn ich über die oberen Links navigiere.

          Hab das Beispiel upgedatet.

          MfG Markus
          weil es nichts gibt, um die Session zu identifizieren oder was meinst du, wofür die SID gut ist?

          Kommentar


          • #6
            Ok, hab mich falsch ausgedrückt. Wie ich schon geschrieben hab, hab ich das Beispiel upgedatet, jedoch verlier ich dennoch die Session bei den oberen Links.

            MfG Markus

            Kommentar


            • #7
              ähm ... wie sieht denn deinen Code jetzt aus? Meine Glaskugel hab' ich grad ausgeliehen ...

              Kommentar


              • #8
                deine RewriteRule gibt ja auch den GET-parameter SESSIONID nicht mit weiter, also geht sie verloren.

                flag QSA könnte helfen, siehe auch http://httpd.apache.org/docs/mod/mod...ml#RewriteRule
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  OK, thx!

                  MfG Markus

                  Kommentar

                  Lädt...
                  X