Hallo,
Ich hätte gerne folgendes Problemchen: ...
ich dachte, das Problemchen *hast* du schon? Ich hätte in so einem Fall lieber eine Lösung als ein Problem. ;-)
Sagen wir www.sub.domain.de verweist auf der Hauptdomain in den Pfad "/A/B/C/".
Gut. Aus der Sicht eines HTTP-Clients sieht das aber immer noch aus wie /www.sub.example.org/ [*].
Jetzt möchte ich gerne in einer Datei, die in C liegt, Bilder einbinden, die aber wiederrum auf einer höheren Ebene als C liegen, also z.B. in einem Ordner "/A/D/" der Hauptdomain. Und genau das scheint nicht zu funktionieren.
Das kann auch so, wie du dir das vorstellst, nicht gehen. Der Zugriff auf die Bilder erfolgt ja vom Client aus per HTTP. Und der kann keine höhere Ebene adressieren als das Document Root, auch nicht, um dann wieder in ein anderes Verzeichnis abzusteigen, das hierarchisch "neben" dem Document Root liegt.
<img src="../../D/bild.jpg"> oder
<img src="/A/D/bild.jpg">
Diese beiden URL referenzieren beide eine Ressource, die unter dieser Domain nicht erreichbar ist.
Noch merkwürdiger ist, dass ich das Verzeichnis "A/D/" von der Subdomain mittels readdir('../../D/') - also PHP - ohne Probleme auslesen kann, ...
Das ist nicht merkwürdig, sondern völlig selbstverständlich. PHP arbeitet in einer anderen Welt, nämlich auf dem Filesystem des Servers. PHP kann auch auf Dateien zugreifen, die per HTTP nicht erreichbar sind.
Muss serverseitig was geändert werden?
Du wirst nicht umhinkommen, die Bilder entweder in ein Verzeichnis zu legen, das unter beiden Domains erreichbar ist, oder doppelt vorzuhalten, oder unter der Subdomain über ein PHP-Script durchzureichen. Oder über die Hauptdomain absolut zu adressieren.
So long,
Martin
[*] Und verwende bitte für anonyme Beispiele die dafür vorgesehenen Beispieldomains example.org, example.net oder example.com, anstatt fremder Domains, die tatsächlich existieren.
Computer lösen für uns Probleme, die wir ohne sie gar nicht hätten.