MightyMike: Server, Subdomain & relative Pfadangaben

Hallöderle,

Irgendwie komme ich mir gerade wie ein totaler Newbie vor. Ich hätte gerne folgendes Problemchen: Ich habe mir für ein neues Unterprojekt meiner Seite eine Subdomain angelegt, also sowas wie

www.sub.domain.de (gehört zu www.domain.de)

Sagen wir www.sub.domain.de verweist auf der Hauptdomain in den Pfad "/A/B/C/". 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. Wenn ich also verlinke

<img src="../../D/bild.jpg"> oder
<img src="/A/D/bild.jpg">

erscheint kein Bild, obwohl es dort liegt. Und dies scheint an der Subdomain zu liegen! Wenn ich mein Unterprojekt direkt über

www.domain.de/A/B/C

aufrufe und dann auf die Bilderseite gehe, sind die Bilder zu sehen! Wenn ich das selbe mit www.sub.domain.de aufrufe leider nicht. Noch merkwürdiger ist, dass ich das Verzeichnis "A/D/" von der Subdomain mittels readdir('../../D/') - also PHP - ohne Probleme auslesen kann, obwohl ich hier die selbe relative Pfadangabe verwende. Das Problem scheint sich also auf den HTML-Teil zu beschränken. Hat jemand eine Idee, wie ich das Problem umgehen kann? Muss serverseitig was geändert werden?

Thanks in advance.

LG
Mighty

  1. 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.
    1. Hallo,

      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.

      Alternativ sei die Direktive Alias erwähnt.

      Schöne Grüße,

      Johannes