Wie löst der Apache eine URL auf?
Chris©
- webserver
LG
Wenn ich die URL http://example.org/script1.php habe, und nun an die URL noch etwas anhänge http://example.org/script1.php/paul, dann müsste das doch eigentlich eine ganz andere Ressource sein, die da angefordert wird.
Ist es aber nicht. Es wird tortzdem das Skript http://example.org/script1.php aufgerufen.
Kann man dem Apachen das irgendwie abgewöhnen?
Chris©
Hallo nochmal,
Habe noch eine Zusatzfrage:
Was ist der Unterschied zwischen $_SERVER['PHP_SELF'] und $_SERVER['SCRIPT_NAME']?
LG
Chris©
Moin!
Habe noch eine Zusatzfrage:
Was ist der Unterschied zwischen $_SERVER['PHP_SELF'] und $_SERVER['SCRIPT_NAME']?
http://de.php.net/manual/en/reserved.variables.php#reserved.variables.server
- Sven Rautenberg
Hi,
http://de.php.net/manual/en/reserved.variables.php#reserved.variables.server
Außerdem noch anmerkenswert: PHP_SELF kann beliebige Daten vom User enthalten und ist somit nicht vertrauenswürdig.
Gruß, Cybaer
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
Selber moin, hier ist es schon dunkel...:-)
Kann man dem Apachen das irgendwie abgewöhnen?
Was hättest du stattdessen als Reaktion?
Eine Antort, dass es die Ressource nicht gibt.
Oder auch eine Umleitung auf die Fehlerseite.
Aber nicht nur für den Spezialfall, sondern für alle Fälle, bei denen die vollständige URL nicht vorhanden ist.
LG
Chris©
echo $begrüßung;
Wenn ich die URL http://example.org/script1.php habe, und nun an die URL noch etwas anhänge http://example.org/script1.php/paul, dann müsste das doch eigentlich eine ganz andere Ressource sein, die da angefordert wird.
Kann man dem Apachen das irgendwie abgewöhnen?
Das Feature nennt sich PathInfo und lässt sich mit AcceptPathInfo konfigurieren.
echo "$verabschiedung $name";
Hallo Dedlfix,
Wenn ich die URL http://example.org/script1.php habe, und nun an die URL noch etwas anhänge http://example.org/script1.php/paul, dann müsste das doch eigentlich eine ganz andere Ressource sein, die da angefordert wird.
Kann man dem Apachen das irgendwie abgewöhnen?Das Feature nennt sich PathInfo und lässt sich mit AcceptPathInfo konfigurieren.
Danke.
Du hast mir den Abend gerettet.
Das hatte ich vorhin noch "eben schnell" als Hausaufgabe bekommen.
Daran hätte ich mich aber totgesucht.
Nun muss ich das nur noch dokumentieren für morgen
LG
Chris©