Herbie: Lokal testen mit absoluteen Pfaden ab /

Hallo Leute,

hab eigentlich eine sehr grundsätzliche Frage... der Titel sagt schon das Meiste. Ich mache eine Website, bei der die Pfadangaben immer mit dem Wurzelverzeichnis des Webservers beginnen müssen, also zB ... href="/bilder/xyz.gif" etc. Nur kann man das so schlecht lokal testen, weil ja hier die Festplatte als root gesehen wird, und so kein Bezug stimmt.
Wie geht ihr mit dem Problem um?  Wäre für Tipps echt dankbar.

Euer Herbie

  1. Hi,

    Nur kann man das so schlecht lokal testen, weil ja hier die Festplatte als root gesehen wird,

    wer hindert Dich daran, einen lokalen Webserver zu installieren?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,
      Ausserdem könnte man ja auch einfach die Verzeichnissstruktur nachbbasteln

      --
      UO-Player
      1. Hi,

        Ausserdem könnte man ja auch einfach die Verzeichnissstruktur nachbbasteln

        Wobei (unter Windows) die "Root-Ebene" zur Not durch den "Arbeitspfad" des Browsers festgelegt werden kann. Ja, das klappt mit rein statischen Websites. Wenn man jedoch viel mit JS arbeitet, dann kann es lokal trotzdem (massive) Probleme geben, die man explizit berücksichtigen muß.

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  2. Hi,

    Wie geht ihr mit dem Problem um?  Wäre für Tipps echt dankbar.

    Für den Fall, daß ein lokaler Webserver nicht funktioniert oder erwünscht ist, und echter Offline-Einsatz gefordert ist, verwende ich on-the-fly schlicht andere Links (Coding: Systemvariable stellt dafür das nötige Umfeld zur Verfügung). Entweder schreibe ich gleich (vereinzelte) Links "kompatibel" (funktioniert mit jedem JS), oder am Seitenende/nach dem Laden werden ggf. alle (internen) Links in einer Schleife angepaßt (via DOM, also JS>=1.5).

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  3. Hallo,

    erstmal danke für die Antworten. Meine Folgefragen mal hier zusammengefasst:

    Lokale Webserverlösung: ist es dann auch möglich, mehrere Projekte auf dem lokalen Server zu testen, ohne Verzeichnisse/Dateien verschieben oder den lokalen Server umkonfigurieren zu müssen? Kann man mit einem Webserver einfach mehrere Projekte parallel testen, wenn die jeweils auf ihrem eigentlichen Webserver auf "/" liegen?

    JS-Lösung: Gibt's da ein Beispiel, das ich mir ansehen könnte?

    Verzeichnis nachbasteln: ...scheck ich noch nicht ganz: das hieße, zB die index.html in das lokale Stammverzeichnis zu legen? Also c:/index.html etc?

    Danke,
    Herbie

    (Titelkorr. wg. Suche/Archiv)

    1. hi,

      Lokale Webserverlösung: ist es dann auch möglich, mehrere Projekte auf dem lokalen Server zu testen, ohne Verzeichnisse/Dateien verschieben oder den lokalen Server umkonfigurieren zu müssen? Kann man mit einem Webserver einfach mehrere Projekte parallel testen, wenn die jeweils auf ihrem eigentlichen Webserver auf "/" liegen?

      Stichwort: VirtualHosts

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
    2. Hallo,

      Lokale Webserverlösung: ist es dann auch möglich, mehrere Projekte auf dem lokalen Server zu testen, ohne Verzeichnisse/Dateien verschieben oder den lokalen Server umkonfigurieren zu müssen? Kann man mit einem Webserver einfach mehrere Projekte parallel testen, wenn die jeweils auf ihrem eigentlichen Webserver auf "/" liegen?

      ja, das ist möglich. Das Stichwort lautet "virtuelle Hosts". Der Apache lässt sich derart konfigurieren, dass mit unterschiedlichen Hostnamen auch unterschiedliche WebRoots mit teils unterschiedlichen Einstellungen ansprechbar sind.

      Verzeichnis nachbasteln: ...scheck ich noch nicht ganz: das hieße, zB die index.html in das lokale Stammverzeichnis zu legen? Also c:/index.html etc?

      Zumindest unter Windows kannst du ein virtuelles Laufwerk mit subst anlegen, dessen Root-Verzeichnis deinem Web-Projektverzeichnis entspricht. Dann hättest du beispielsweise in U:, V:\ und W:\ drei verschiedene Projekte, die alle im Root-Verzeichnis ihres virtuellen Laufwerks liegen.

      Ciao,
       Martin

      --
      Wissen erwirbt man, indem man immer das Kleingedruckte sorgfältig liest.
      Erfahrung bekommt man, indem man das nicht tut.
    3. Hi,

      Lokale Webserverlösung:

      Am einfachsten: http://www.apachefriends.org Downloaden, entpacken, läuft. Nur die virtuellen Server mußt Du dann noch per Hand einrichten (ist aber einfach).

      JS-Lösung: Gibt's da ein Beispiel, das ich mir ansehen könnte?

      Nein, ist aber fix gebastelt.

      Verzeichnis nachbasteln: ...scheck ich noch nicht ganz: das hieße, zB die index.html in das lokale Stammverzeichnis zu legen? Also c:/index.html etc?

      Ja. Es geht aber auch in Unterverzeichnissen:
      c:\sites\proj1\index.html
      c:\sites\proj2\index.html
      etc.

      Rechtsklick auf ein Browser-Icon, Eigenschaften, Arbeitspfad z.B. auf c:\sites\proj1, dann sollte das ggf. schon klappen (ist schon sooooo lange her, daß ich so gearbeitet habe ... =;-)).

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      1. Hi,

        dauerhaft am geeignetsten für meine Zwecke scheint mir der lokale Server zu sein (den ich ja eh schon habe).
        Aber...

        Nur die virtuellen Server mußt Du dann noch per Hand einrichten (ist aber einfach).

        ...au weia, nicht für mich. :-/  Mein Vorhaben ist das: ich packe also das Verzeichnis "projekt1" mitsamt Inhalt in das htdocs-Verzeichnis (root auf meinem WAMP).

        Jetzt will ich den Apachen so konfigurieren, dass wenn man 127.0.0.1/projekt1 aufruft nicht nur die Webseiten kommen, sondern dieser Ordner Root ist, solange man sich darin befinet, weil ja die absoluten Pfade ab "/" funktionieren sollen. Das gleiche dann für das parallele Verzeichnis "projekt2" etc. Geht das überhaut so?

        Der entsprechende nicht funktionierende Abschnitt in meiner http.conf:

        NameVirtualHost 127.0.0.1

        <VirtualHost 127.0.0.1>
            DocumentRoot /projekt1/
            ServerName /projekt1/
        </VirtualHost>

        Wie muss das dann richtig lauten? Muss ich dafür in den hosts-Datei auch noch was ändern?

        100x Dank,
        Herbie

        1. Hallo,

          Nur die virtuellen Server mußt Du dann noch per Hand einrichten (ist aber einfach).
          ...au weia, nicht für mich. :-/

          ach was, halb so wild.

          Mein Vorhaben ist das: ich packe also das Verzeichnis "projekt1" mitsamt Inhalt in das htdocs-Verzeichnis (root auf meinem WAMP).

          Ich hätte es umgekehrt gemacht: Nicht der Berg (mein Projekt) soll zum Apachen kommen, sondern der Apache zum Berg. Hm. Hieß das nicht noch irgendwie anders? Na, egal. Ich wollte damit sagen: Ich würde das Projekt genau da liegenlassen, wo es ist, und stattdessen das DocumentRoot des virtuellen Hosts da hinzeigen lassen.

          Jetzt will ich den Apachen so konfigurieren, dass wenn man 127.0.0.1/projekt1 aufruft nicht nur die Webseiten kommen, sondern dieser Ordner Root ist, solange man sich darin befinet, weil ja die absoluten Pfade ab "/" funktionieren sollen. Das gleiche dann für das parallele Verzeichnis "projekt2" etc. Geht das überhaut so?

          Nein. Was du vorschlägst, sind ja schon Pfade innerhalb einer Verzeichnishierarchie. Das passt nicht zum VirtualHosts-Konzept.
          Du möchtest eher deine Projekte mit http://projekt1/ oder http://projekt2/ aufrufen.

          <VirtualHost 127.0.0.1>
              DocumentRoot /projekt1/
              ServerName /projekt1/
          </VirtualHost>

          Das ändern wir mal in

          <VirtualHost 127.0.0.1>
               DocumentRoot D:/Projekte/projekt1/
               ServerName projekt1
           </VirtualHost>

          wobei das Verzeichnis natürlich deinen Verhältnissen anzupassen wäre.

          Muss ich dafür in den hosts-Datei auch noch was ändern?

          Ja, allerdings. Dein Betriebssystem muss noch wissen, dass die Hostnamen projekt1 und projekt2 jetzt auch auf der lokalen Maschine erreichbar sind. Folgender Eintrag steht normalerweise schon in der hosts-Datei:

          127.0.0.1  localhost

          Da fügst du einfach noch diese zwei Zeilen hinzu:

          127.0.0.1  projekt1
          127.0.0.1  projekt2

          Ich hoffe, ich hab nichts Entscheidendes übersehen (weil ich hier gerade keinen Apachen zur Hand habe), aber das müsste es eigentlich schon sein.

          Good luck,
           Martin

          --
          Zur Abwechslung mal keine Signatur.
          1. Hey,

            Das ändern wir mal in

            *g*

            <VirtualHost 127.0.0.1>
                 DocumentRoot D:/Projekte/projekt1/
                 ServerName projekt1
            </VirtualHost>

            127.0.0.1  projekt1

            Hahaa, das geht, jippie *baller*
            Jetzt leg ich noch in jedes Projektverzeichnis eine bat-Datei, die den Apachen startet und gleich das entsprechende Projekt im Browser aufruft. Dann ist das mit dem testen eigentlich kaum aufwendiger als bisher der Doppelklick auf die index.html.

            Nochmal vielen Dank an alle hier! (hat geholfen)
            Herbie

            1. Hi,

              Jetzt leg ich noch in jedes Projektverzeichnis eine bat-Datei, die den Apachen startet und gleich das entsprechende Projekt im Browser aufruft.

              Tip: Ich habe 2 Einstellungen die ich bei Bedarf per Mausklick wechsel. Die erste enthält meine Test-Domains mit Top-Level-Domain .hd (www.example.hd), die zweite mit der realen Domain (www.example.org). So kann ich beliebig online wie "offline" arbeiten, ggf. aber "offline" bis hin zum Domainnamen unter absolut realen Bedingungen.

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!