• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

includes bei virtuellen Verzeichnissen - Logikfrage

StephanBo

Mitglied
Habe mal eine eher allgemeine Verständnissfrage:

Mittels RewriteRule in der htaccess erstelle ich virtuelle Verzeichnisse wie: meineseit.de/V1/V2/V3/

Wenn nun eine Datei in der dritten Hierarchiestufe aufgerufen wird, so muss ich für diese Datei die Pfadangaben neu setzen. Entweder ich nehme hierzu absolute Pfade oder führe mittels relativen Pfad in den Zielordner (aus images/bild.jp wird dann ../../../images/bild.jp) Denke es dürfte klar sein was ich ausdrücken möchte und es funktioniert auch ohne Probleme.

Jetzt arbeite ich aber auch mit includes wie bspw: <? include ("inc/header.php"); ?> Was mich nun erstaunt: Ich habe eigentlich erwartet, dass für den oben genannten Fall einer dritten Ebene aus <? include ("inc/header.php"); ?> <? include ("../../../inc/header.php"); ?> werden muss, was aber nicht so ist.

Meine Frage ist nun, warum ich hier den inc-Ordner nicht verändern muss ? Greifen includes immer vom root-Verzeichnis ausgehend auf die jeweils zu "includenden" Datei zu oder wo ist hier die Logik?
 
Dateien, die Du im HTML-Code referenzierst, werden über HTTP geladen. Wenn die aufgerufene URL einen Pfad aufweist, müssen die dort referenzierten Dateien dies berücksichtigen.

PHP weiß dagegen nicht, ob und wie die Seite per HTTP aufgerufen wird. PHP ist daher auch jegliche Pfadangabe in der URL egal. Es kommt auf den absoluten Pfad im Dateisystem des Servers an, welche Pfade Du in PHP jeweils angeben musst.
 
Zurück
Oben