Sven Rautenberg: Wie löst der Apache eine URL auf?

Beitrag lesen

Moin!

http://example.org/script1.php

Eine Datei "script1.php" im DOCUMENT_ROOT des Servers.

http://example.org/script1.php/paul

Eine Datei "paul" im Verzeichnis "script1.php", welches sich im DOCUMENT_ROOT befindet.

Da ein Verzeichnis nicht existieren kann, wenn bereits eine Datei desselben Namens existiert, kann der Apache entscheiden, dass offenbar der Aufruf des Skripts gemeint ist - dem dann der gesamte Pfad zur weiteren Bearbeitung übergeben wird.

dann müsste das doch eigentlich eine ganz andere Ressource sein, die da angefordert wird.

Ist es aus Sicht der URL auch. Man kann durchaus auch provozieren, dass die zwei URLs unterschiedlich behandelt werden, z.B. durch mod_rewrite.

Ist es aber nicht. Es wird tortzdem das Skript http://example.org/script1.php aufgerufen.

Weil das vom Apachen standardmäßig so gemacht wird. Wenn du das Skript "paul" im Verzeichnis "script1.php" aufrufen willst, lösche die Datei "script1.php", erzeuge das Verzeichnis "script1.php" und platziere darin die Datei "paul".

Kann man dem Apachen das irgendwie abgewöhnen?

Was hättest du stattdessen als Reaktion?

- Sven Rautenberg

--
"Love your nation - respect the others."