Warum wird das geparst?

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Warum wird das geparst?

Postby seedev » 13. August 2012 14:06

Hi,

mir ist heute etwas komisches aufgefallen.

Wenn ich
http://localhost/xampp/status.php/
starte, wird das geparst ?!?

sollte dann nicht ..../status.php/ als Verzeichnis vom Apache verstanden werden und dann nach einer index.(html/php) gesucht werden, die es nicht gibt?

Logische Folge wäre doch ein 404?

Gleiches Beispiel online: siehe
http://forum.joomla.org/viewtopic.php
und
http://forum.joomla.org/viewtopic.php/

danke für die Hilfe :? :? :?
seedev
 
Posts: 4
Joined: 13. August 2012 14:02
Operating System: xp

Re: Warum wird das geparst?

Postby Altrea » 13. August 2012 15:22

Hi seedev,

seedev wrote:Wenn ich
http://localhost/xampp/status.php/
starte, wird das geparst ?!?


Klar, wird es! Das machen sich bestimmte Frameworks wie Codeigniter sogar zu nutzen, um anonyme Übergabeparameter und SEO-Freundliche schöne URLs zu unterstützen.

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Warum wird das geparst?

Postby seedev » 13. August 2012 15:30

Jetzt habe ich mal ein Verzeichnis namens /test.php/ angelegt.
Warum wird /test.php/ nicht geparst ?
seedev
 
Posts: 4
Joined: 13. August 2012 14:02
Operating System: xp

Re: Warum wird das geparst?

Postby Altrea » 13. August 2012 17:02

seedev wrote:Jetzt habe ich mal ein Verzeichnis namens /test.php/ angelegt.
Warum wird /test.php/ nicht geparst ?

Wenn ich ein Verzeichnis \xampp\htdocs\test.php\ anlege und dort hinein eine index.html lege habe ich mit XAMPP 1.8.0 keine Probleme die Datei über das DirectoryIndex über die URL http://localhost/test.php/ anzufragen.

Tut mir leid, ich weiß nicht wo ich da bei dir ansetzen soll, da ich nicht weiß wo deine Probleme liegen.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Warum wird das geparst?

Postby seedev » 13. August 2012 17:45

Tut mir leid, ich weiß nicht wo ich da bei dir ansetzen soll, da ich nicht weiß wo deine Probleme liegen

Problem:
Datei test.php wird mit Aufruf http://localhost/test.php/ geparst
Verzeichnis test.php wird mit Aufruf http://localhost/test.php/ nicht geparst, sondern nach einer index.(html/php) gesucht

Das ist irgendwie komisch

Ich glaube aber die Lösung des Problems liegt bei php unter $_SERVER['PATH_INFO']
was auf AcceptPathInfo-Direktive im Apache-Core zurückzuführen ist.

http://httpd.apache.org/docs/2.2/mod/core.html


Muss ich morgen mal testen :)
seedev
 
Posts: 4
Joined: 13. August 2012 14:02
Operating System: xp

Re: Warum wird das geparst?

Postby Altrea » 13. August 2012 18:11

seedev wrote:Verzeichnis test.php wird mit Aufruf http://localhost/test.php/ nicht geparst, sondern nach einer index.(html/php) gesucht

Was bezeichnest du als "parsen"? Du verwendest dieses Wort ziemlich häufig in für mich unterschiedlichen Kontexten.
Welches Verhalten würdest du von Apache denn erwarten? Was soll er mit dem Ordner tun?
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Warum wird das geparst?

Postby seedev » 15. August 2012 08:22

parsen -> als PHP Parsen.

Also

Welches Verhalten würdest du von Apache denn erwarten? Was soll er mit dem Ordner tun?


Mit dem Ordner verhält sich Apache ja richtig. Es wird nachgeschaut, ob eine index.(html/php) da ist.

Ist das aber kein Ordner, also eine PHP Datei, mit /
z.B. "http://localhost/test.php/"
wird an PHP übergeben und die Datei geparst. Hier sollte ja eigentlich, durch das slash am Ende, der Apache auch nach der Datei
http://localhost/test.php/index.(php/html) suchen. Oder sehe ich das falsch?
seedev
 
Posts: 4
Joined: 13. August 2012 14:02
Operating System: xp

Re: Warum wird das geparst?

Postby Altrea » 15. August 2012 17:39

seedev wrote:parsen -> als PHP Parsen

Du kannst ein Wort nicht erklären, indem du es in der Erklärung abermals verwendest.
Ich verstehe immer noch nicht, was du damit genau meinst. Pfadangaben oder Adressen werden generell nicht als PHP geparsed, weil in ihnen keine PHP Syntax erwartet wird.

seedev wrote:Mit dem Ordner verhält sich Apache ja richtig. Es wird nachgeschaut, ob eine index.(html/php) da ist.

Ist das aber kein Ordner, also eine PHP Datei, mit /
z.B. "http://localhost/test.php/"
wird an PHP übergeben und die Datei geparst. Hier sollte ja eigentlich, durch das slash am Ende, der Apache auch nach der Datei
http://localhost/test.php/index.(php/html) suchen. Oder sehe ich das falsch?

Wo steht denn geschrieben, dass ein Slash bedeutet, dass es sich dabei um ein Verzeichnis handelt?

folgendes ist eine gültige URL:
http://localhost/index.php/artikel/schu ... farbe=blau

  • Hast du in deinem DocumentRoot Verzeichnis eine Datei index.php wird genau diese aufgerufen und der Rest als Parameter bereitgestellt. So landet /artikel/schuhe/eigenschaften in $_SERVER['PATH_INFO'], farbe=blau in $_SERVER['QUERY_STRING']. Der Slash nach .php hat hierbei keilerlei Auswirkung (wie denn auch?)
  • Hast du stattdessen ein Verzeichnis mit dem Namen index.php (ja, man kann auch Ordner wie Dateien benennen), so wird darin artikel dann schuhe, dann Eigenschaften gesucht.
  • Verwendest du mod_rewrite oder Aliase kannst du unter Umständen garnichtmehr von der URL auf einen Pfad oder Teilpfad schließen.

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 48 guests