hi,
Ok das hab ich jetzt nur halb verstanden oder Falsch.
Also das Problem ist ja , das der / da für ist um das Verzeichniss anzuzeigen oder so oder nicht?
Es gibt ein paar reservierte Zeichen in URI's, hier interessieren der Slash und das Fragezeichen.
Der "/" am Anfang kennzeichnet die http-Serverroot, weiter hinten dient ein "/" als Trenner für Verzeichnisse.
Beispiel:
http://example.org/ # wir sind auf der root /
http://example.com/astro/ # wir sind im Verzeichnis /astro
http://example.com/cgi-bin/ # dito
Nun haben wir Scripts oder Ressourcen, die einen oder mehrere Parameter brauchen. Beispiel:
http://example.com/index.php
Zum Trennen der Parameter vom Locator gibt es das "?"
http://example.com/index.php?parameter=value;x=y
<------------- URL -------->|<- QUERY_STRING -->|
<---------------------- URI ---------------<|
Alle Parameter zusammen bilden den QUERY_STRING, den Teil nach dem "?". Im QUERY_STRING selbst darf es keinen "/" geben.
Jetzt soll "x=y" den QUERY_STRING ergeben, wir versuchen es so:
http://example.com/astro/index.php/x=y
Was passiert? Der Webserver quittiert sowas mit einem status: 404 not found.
Weil: "index.php" wird als Verzeichnis interpretiert und "x=y" als Ressource in diesem Verzeichnis ---> was es gar nicht gibt. Wie auch soll der Server wissen, wo bei mir die Ressource aufhört und der Parameter beginnt?
Machen wir es besser so:
http://example.com/astro/index.php?x=y
QUERY_STRING <= "x=y"
Wenn Du das verstanden hast, kannst Du dich an mode_rewrite machen.
Hotte
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.