Ashura: include Datei adressieren vs. img src adressieren

Beitrag lesen

Hallo Martin.

DOCUMENT_ROOT ist jeweils:

/home/example/abc.example.com/docs
[…]
    <img src = "../../www.example.com/docs/images/image.jpg" >
    </body>

</html>

Jetzt das Problem:

require funktioniert, aber das Bild wird nicht gefunden.

Natürlich nicht. Da DOCUMENT_ROOT auf „/home/example/abc.example.com/docs/“ gesetzt wurde, dürfen Anfragen im HTTP-Kontext auch nur bis dorthin aufsteigen.
Wäre dem nicht so, könnte ein jeder völlig frei auf Dateisystemebene agieren und tatsächlich Dateien auslesen.

Anschaulicher:

Dateisystem                        | HTTP (Server)
  --------------------------------------------------
  /home/example/abc.example.com/docs | /
  --------------------------------------------------
  /                                  | Nicht erreichbar, sofern DOCUMENT_ROOT nicht „/“

Willst du also das Bild adressieren, musst du schon den Umweg über HTTP machen, also „http://www.example.com/images/image.jpg“ im src-Attribut notieren.

Einen schönen Sonntag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]