aber wie das ganze freundlicher machen? z.b.
http://localhost/testpage/userlist/
Da gibt es zwei übliche Verfahren.
Eines ist url-rewriting, im Apache ist es das modul mod_rewrite.
Damit mappt man eine URL wie
/testpage/userlist
nach
/testpage/list.php?mode=user
Das Mapping kann auch Regexes beinhalten, also etwa
/testpage/(\w+)list
=>
/testpage/list.php?mode=$1
URL-Rewriting hat den Vorteil, dass man das Script nicht ändern muss.
Alternativ gibt es die Möglichkeit, die Umgebungsvariable PATH_INFO auszulesen, welche laut CGI-Spezifikation gesetzt sein muss.
Wenn beispielsweise die Location /testpage auf ein ScriptAlias zeigt (oder per
Handler z.b. auf einen mod_perl-Handler), dann ist alles, was nach /testpage kommt, in der PATH_INFO-Variable enthalten. Bei
/testpage/userlist
steht da also „/userlist“ drin.
Geht auch ohne ScriptAlias, also bei /testpage/list.php/userlist stünde dann auch „/userlist“ drin.
wie siehts mit den technischen hintergründen aus und wie
schafft man das? und (wie) gehts bei eingeschränkteren
webservern (also was gemietetes, wie funpic anstatt die lokale
XAMPP-installation)?
Solltest nach .htaccess suchen, denn in den .htaccess-Dateien schreibt man dann die Rewrite-Regeln rein.
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
Wenn ein Hoster sowas nicht anbietet, bleibt dir immer noch die Möglichkeit mit PATH_INFO, das sollte überall funktionieren.