Tom: Adressierungsmethoden

Hello,

ich habe das gerade eine´n Denkknoten.

Welche Adressierungsmethoden im Apachen fallen Euch ein?

relative Adressierung, klappt eigentlich meistens              ../../img/bild.gif

oder Server-absolute Adressierung, klappt nur, wenn man
   vernünftig einrichtet und z.B. eine Konstante definiert
   für aktive Scripte                                          BASEPATH.'/img/bild.gif

ist wenig sinnvoll auf schlampig eingerichteten Provider-
   Umgebungen. (keine change root..)

Was könnte man da nun universelles Programmieren (z.B. in PHP) um das zu kompensieren?

Wenn nun jedes Script am Anfang erstmal feststellt, in welchem Pfad es liegt...
Und dann von dort aus relativ vorgeht...?

Wieviel Räder gibt's denn schon zu dem Thema?

Besonders würde mich eben interessieren, wie man das praktisch löst, dass ja die Verzeichnisse für bestimmte Dateien per Definition festgelegt werden können, aber doch leider nicht absolut.

Brauch da einfach mal ein paar Erfahrungswerte

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
  1. Hi!

    relative Adressierung, klappt eigentlich meistens              ../../img/bild.gif

    oder Server-absolute Adressierung, klappt nur, wenn man
       vernünftig einrichtet und z.B. eine Konstante definiert
       für aktive Scripte                                          BASEPATH.'/img/bild.gif

    ist wenig sinnvoll auf schlampig eingerichteten Provider-
       Umgebungen. (keine change root..)

    Ich verwende meist

    /img/bild.gif

    das geht so lange ohne Probleme, bis man das ganze mal in ein Unterverzeichnis installieren will.

    Grüße
    Andreas

    --
    SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
    1. Hello,

      relative Adressierung, klappt eigentlich meistens              ../../img/bild.gif

      oder Server-absolute Adressierung, klappt nur, wenn man
         vernünftig einrichtet und z.B. eine Konstante definiert
         für aktive Scripte                                          BASEPATH.'/img/bild.gif

      ist wenig sinnvoll auf schlampig eingerichteten Provider-
         Umgebungen. (keine change root..)

      Ich verwende meist

      /img/bild.gif

      das geht so lange ohne Probleme, bis man das ganze mal in ein Unterverzeichnis installieren will.

      Ja, darum scheidet diee Methose auch aus. Die Kunden sind bereit, die Demo der von ihnen verwendeten Software auf ihren Servern zu installieren. Das bedeutet aber, dass sie das Paket in irgendein Unterverzeichnis kopeieren können müssen und ggf. noch drei bis vier Werte in einer zentralen congi.inc.php ändern würden. Aber mehr auch nicht. Das erste Problem ist ja schon, wo man diese config hinlegt. /etc ist nicht für jeden zugänglich

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Hi!

        Ja, darum scheidet diee Methose auch aus. Die Kunden sind bereit, die Demo der von ihnen verwendeten Software auf ihren Servern zu installieren. Das bedeutet aber, dass sie das Paket in irgendein Unterverzeichnis kopeieren können müssen und ggf. noch drei bis vier Werte in einer zentralen congi.inc.php ändern würden.

        Ich verwende für sowas andere Subdomains.

        Das erste Problem ist ja schon, wo man diese config hinlegt. /etc ist nicht für jeden zugänglich

        irgendwo zu dem Rest der Scripte ;-)

        Grüße
        Andreas

        --
        SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
  2. habe d'ehre

    Brauch da einfach mal ein paar Erfahrungswerte

    Ich lege fuer Scriptgenerierte Ausgaben die Pfade zu Bildern, externen Texten, PDF usw. immer in einer Config-Datei ab. (relative Pfade)

    man liest sich
    Wilhelm

    1. Hello,

      Brauch da einfach mal ein paar Erfahrungswerte

      Ich lege fuer Scriptgenerierte Ausgaben die Pfade zu Bildern, externen Texten, PDF usw. immer in einer Config-Datei ab. (relative Pfade)

      Relativ zu was?

      Es ist ja möglich, dass ein include-File der einen Pfad benötigt, aus verscheidenen Ebenen eines Projektes aufgerufen wird. Zumindes habe ich eo ein Projekt "geerbt" und nun versuche ich aus den Negatveffekten, die das mit sich bringt, einfach mal einen Fahrplan oder eine genielae Funktion zu machen, die die Position des aktuellen Scriptes im Baum ermittelt und dann dazu relativ positioniert.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
  3. Moin!

    oder Server-absolute Adressierung, klappt nur, wenn man
       vernünftig einrichtet und z.B. eine Konstante definiert
       für aktive Scripte                                          BASEPATH.'/img/bild.gif

    DOCUMENT_ROOT existiert.

    - Sven Rautenberg

    1. Hello,

      oder Server-absolute Adressierung, klappt nur, wenn man
         vernünftig einrichtet und z.B. eine Konstante definiert
         für aktive Scripte                                          BASEPATH.'/img/bild.gif

      DOCUMENT_ROOT existiert.

      Das ist dann der für die Domain ( den Virtual Host) eingestellte Pfad, also zb:

      /var/www/htdocs/

      Die URL der Dateien lauter aber z.B:

      http://testserver.lan.fli4l/~thomas/test/info.php

      ^
                                                +-- Das wäre jetzt das "Wurzelverzeicnnis" für
                                                    die jeweilige Demo

      Und dann gibt es z.B. noch eine Umleitung aus irgendeiner Domain

      Redirect /demo  http://testserver.lan.fli4l/~thomas/test/

      Und nun soll die datei info.php wissen, wo sie ihre Brüder und Schwestern findet.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Und nun soll die datei info.php wissen, wo sie ihre Brüder und Schwestern findet.

        http://hoohoo.ncsa.uiuc.edu/cgi/env.html ?

      2. Und dann gibt es z.B. noch eine Umleitung aus irgendeiner Domain

        Redirect /demo  http://testserver.lan.fli4l/~thomas/test/

        Und nun soll die datei info.php wissen, wo sie ihre Brüder und Schwestern findet.

        rewrite und redirect findet nicht innerhalb des php interpreters statt, sondern vorher auf dem webserver oder nachher auf dem browser.
        daher spielt das zur abarbeitung des php-scriptes keine rolle.

        1. Hello,

          rewrite und redirect findet nicht innerhalb des php interpreters statt, sondern vorher auf dem webserver oder nachher auf dem browser.
          daher spielt das zur abarbeitung des php-scriptes keine rolle.

          Aber zusammenpassen muss es trotzdem.
          Ich hätte den Fehler vom Redirect ja uch in PHP wieder kompensieren können, oder?

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
    2. Hello,

      das Problem lag woanders:

      Redirect /clientdemo  http://I009.provider.de/~alarm/alarm/client/    # slash ist falsch hier
      Redirect /admindemo   http://I009.provider.de/~alarm/alarm/admin/     # slash ist falsch hier

      hat dann in der relativen Adressierung zu

      <!--/home/alarm/public_html/alarm/admin/modules/products/modelle.tmpl.php -->
       <!--/~alarm/alarm/admin//modules/products/modelle.php -->
                              ^
                              |
                              +---- Hier entstand dann ein Doppelslash, der die relative
                                    Adressierung der Bilder   (../../../images/blah/blubb.jpg)
                                    durcheinander gebracht hat.

      Ich habe es erst gefunden, nachdem ich die beiden Zeilen:

      <!--<?php echo __FILE__; ?> -->
       <!--<?php echo $_SERVER['PHP_SELF']; ?> -->

      ins Script eingebaut hatte. Da das ganze Ding neben einer register_globals==on-Wüste auch auch ein JavaScript-Grab ist, wurde keine Adressleiste und keine Statuszeile angezeigt. Sowas zu debuggen ist ein Graus.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau