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