Mailinglisten-Archive |
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