phpbar.de logo

Mailinglisten-Archive

[php] Sessions mit PHP & MOD_REWRITE die 2. ...

[php] Sessions mit PHP & MOD_REWRITE die 2. ...

Matthias Endler endler_(at)_upsys.de
Tue, 29 Aug 2000 16:47:30 +0200


Hallo Mathias,

><VirtualHost 192.168.0.1>
>   [...]
>    RewriteEngine On
>    RewriteRule ^/([^/]+)/([^/]+)/([^\.]+)\.php$ /$1/$3.php?SESSION=$2 [PT]
>    # RewriteRule für Sessions, wandelt /xyz.php?SESSION=irgendwas in
>/irgendwas/xyz.php

Das ist nicht ganz richtig, da immer vorausgesetzt wird, dass das ganze in
einem Unterverzeichnis stattfindet. Also uebersetzt Apache das folgender
Massen:

/xyz/<session_id>/sess.php

wird an den php4-handler als

/xyz/sess.php?SESSION=<session_id>

uebergeben. Falls Du dass auch im documentroot brauchst, musst Du noch eine
RewriteRule unter der schon vorhandenen einfuegen:

RewriteRule ^/([^/]+)/([^\.]+)\.php$ /$2.php?SESSION=$1 [PT]

Jetzt geht auch:

/<session_id>/sess.php -> /sess.php?SESSION=<session_id>


></VirtualHost>



>1. testsession.php um eine session zu erstellen.
>Hier müsste doch laut RewriteRule das ganze umgestrippt werden, oder ?!?!

Ja, dzu musst Du allerdings auch die URL umschreiben!

Also nicht mehr sess.php?SID=<session_id> sondern <session_id>/sess.php

><script language=php>
>session_start();
>session_register("dummy");
>$dummy="test";
></script>
><html>
><head>
><title>test session</title>
></head>
><body>
><p><a href="<?=SID?>/sess.php">test session</a></p>

<!--           ^ hier hat sich was geaendert -->

></body>
></html>

Gruss
-Matthias [Endler]

P.S. Wenn Deine Sessionvaraiable $SID heisst, so musst Du die in der
RewriteRule natuerlich auch aendern also SID statt SESSION.



php::bar PHP Wiki   -   Listenarchive