Angy: Wohin bloß damit?

Hallöle, Ihr Profis!

Ich habe ein Einsteigerproblem, für das ich einen Tip von jemand mit Erfahrung haben möchte:

Meine HP liegt natürlich in index.html, alle anderen Seiten und die .js liegen auf src/..., die Bilder auf pics/.... Ich hielt das eigentlich für eine saubere Trennung.

Im Sinne von corporate design habe ich oben und unten auf jeder Seite identische Bereiche mit Bildern, Scripts und ein paar zentralen Links. Da funxt natürlich das Referenzieren auf .js, Bilder und Links nicht mehr, weil das ja einmal von index.html und ein anderes Mal von src/....html aus geht und so was wie unter DOS, das für alle Fälle geht (\src...), gibt es ja nicht.

Ich habe jetzt wahrscheinlich nur folgende Möglichkeiten:

1. alle Seiten, Bilder und Scripts auf das index.html-Level schieben (da sträubt sich in mir alles)

2. index.html nach src verfrachten und im "richtigen" index.html mit onload dahinspringen (erscheint mir wie der Schuß von hinten durch die Brust ins Auge)

3. Eine Variable "x" haben, die von index.html aus mit "", ansonsten mit "../" gefüllt ist, und dann die Dateien mit x+"src/..." ansprechen. Dann müsste ich aber _alles_ mit DHTML erledigen, weil ich ja sonst das "x" nicht habe bei normalem HTML.

4. Hören, was die Profis so sagen, weil _das_ Problem ist ja wohl schon 287355 mal gelöst worden.

Würde mich freuen, was zu hören!

Gruß aus Angermund
Angy

  1. Meine HP liegt natürlich in index.html, alle anderen Seiten und die .js liegen auf src/..., die Bilder auf pics/.... Ich hielt das eigentlich für eine saubere Trennung.

    Tipp: Du solltest die Sachen vielleicht nicht nach Quelltexten und Bildern, also Dateitypen, trennen, sondern nach Inhalt.

    Im Sinne von corporate design habe ich oben und unten auf jeder Seite identische Bereiche mit Bildern, Scripts und ein paar zentralen Links. Da funxt natürlich das Referenzieren auf .js, Bilder und Links nicht mehr, weil das ja einmal von index.html und ein anderes Mal von src/....html aus geht und so was wie unter DOS, das für alle Fälle geht (\src...), gibt es ja nicht.

    Du bist auf dem richtigen Weg: Das mit dem \ ist ein MSDOS-Problem, normalerweise benutzt man / zum Trennen, das heißt Du kannst ganz einfach als absoluten Pfad /src/urlaub.html oder /pics/sonnenuntergang.jpg nehmen, der Browser macht daraus dann http://dein.server.de/src/urlaub.html und http://dein.server.de/pics/sonnenuntergang.jpg

    Gruß,
      soenk.e

    1. Hi, soenk.e,

      Das _wäre_ ja echt klasse:

      Du bist auf dem richtigen Weg: Das mit dem \ ist ein MSDOS-Problem, normalerweise benutzt man / zum Trennen, das heißt Du kannst ganz einfach als absoluten Pfad /src/urlaub.html oder /pics/sonnenuntergang.jpg nehmen, der Browser macht daraus dann http://dein.server.de/src/urlaub.html und http://dein.server.de/pics/sonnenuntergang.jpg

      Nur: von index.html heißt es "pics/sonnenuntergang.jpg", mit einleitendem Slash findet er nix, und von einem src/xyz.html aus muß es "../pics/sonnenuntergang.jpg" heißen, weil sonst der pics-Pfad innerhalb des src-Pfads liegt, und mit einleitendem Slash ohne .. findet er wieder nix.

      _Das_ ist ja das Problem!

      Grüße und trotzdem heißen Dank!
      Angy

      1. Hi, Angy

        Was hältst du von einer festen Adressbasis?

        http://selfhtml.teamone.de/html/kopfdaten/basis.htm#adresse.

        Die Adresse setzt bei mir ein SSI ein, somit funktioniert die Sache auch am lokalen Server daheim.

        <base href="http://<!--#echo var="SERVER_NAME" -->/" />

        Benötigt bei jedweder Adressierung einfach nur pfad/datei.*

        LG Orlando

        1. Hi, Orlando,

          dank Dir für den Tip, aber, soweit ich weiß, trickse ich mich selbst damit aus, weil ich beim Ändern, Testen, Warten und Weiterentwickeln in 57000 Dateien die base ref auf meinen Entwicklungspfad ändern muß und dann nicht vergessen darf, das vor dem Hochladen wieder zurückzuändern. Und ich darf auch nicht, z.B. um einen Tip von Euch zu bekommen, die entsprechende Seite beispielsweise nach visintainer.de/self/ schieben, weil da die base ref auch wieder geändert werden müssen.

          Ansonsten hätte mir das schon gefallen.

          Trotzdem: danke und einen schönen Gruß aus Angermund
          Angy

          1. Hi, Angy

            dank Dir für den Tip, aber, soweit ich weiß, trickse ich mich selbst damit aus, weil ich beim Ändern, Testen, Warten und Weiterentwickeln in 57000 Dateien die base ref auf meinen Entwicklungspfad ändern muß und dann nicht vergessen darf, das vor dem Hochladen wieder zurückzuändern.

            Wenn du die gleiche Methode wie ich anwendest, sieht das Ergebnis wie folgt aus:

            Zuhause setzt das SSI <base href="http://homepage/" /> ein, beim Hoster jedoch <base href="http://www.domain.bla/" />

            Die Pfade in meinen Dateien gehen dann alle von der höchsten Verzeichnisebene aus. Ich muss also keinen Änderungen vornehmen, die gleiche Datei funktioniert lokal wie beim Hoster. Ich weiss, ich bin ziemlich faul...

            Und ich darf auch nicht, z.B. um einen Tip von Euch zu bekommen, die entsprechende Seite beispielsweise nach visintainer.de/self/ schieben, weil da die base ref auch wieder geändert werden müssen.

            Das ist allerdings korrekt. Außerdem nehme ich an, du willst nicht alle Verlinkungen in 57.000 Dateien ändern ;-) Für neue Projekte ist die automatisch gesetzte Adressbasis allerdings sehr bequem.

            LG Orlando

            1. Hi, Orlando, ich wieder.

              Ich hätte mir echt einen kürzeren Domainnamen zulegen sollen, das verkrampft echt die Finger, wenn ich hier meine E-Mail-Adresse eintüpfel ;-)

              Zuhause setzt das SSI <base href="http://homepage/" /> ein, beim Hoster jedoch <base href="http://www.domain.bla/" />

              Die Pfade in meinen Dateien gehen dann alle von der höchsten Verzeichnisebene aus. Ich muss also keinen Änderungen vornehmen, die gleiche Datei funktioniert lokal wie beim Hoster. Ich weiss, ich bin ziemlich faul...

              Faul bin ich auch, aber wenn ich das richtig verstehe, liegt mein Problem jetzt beim SSI - das ist doch ein Stück Code, das auf dem Server liegt und ausgeführt wird. Und bei dem Hoster, bei dem ich bin, und dem Package, für das ich mich entschieden habe, sind cgis und andere Sachen, die auf dem Server laufen würden, "aus Sicherheitsgründen" nicht enthalten.

              Das ist allerdings korrekt. Außerdem nehme ich an, du willst nicht alle Verlinkungen in 57.000 Dateien ändern ;-) Für neue Projekte ist die automatisch gesetzte Adressbasis allerdings sehr bequem.

              Vielleicht sollte ich wirklich von meiner index.html auf eine /src/index.html umschalten, dann sind alle Referenzen eindeutig und ich kann die beiden Pfade src/ und pics/ hinhängen, wo ich will, und es funxt überall.

              Gut, daß wir mal drüber gesprochen haben ;-)

              Angy

      2. [..] Du kannst ganz einfach als absoluten Pfad /src/urlaub.html oder /pics/sonnenuntergang.jpg nehmen, der Browser macht daraus dann http://dein.server.de/src/urlaub.html und http://dein.server.de/pics/sonnenuntergang.jpg

        Nur: von index.html heißt es "pics/sonnenuntergang.jpg", mit einleitendem Slash findet er nix, und von einem src/xyz.html aus muß es "../pics/sonnenuntergang.jpg" heißen, weil sonst der pics-Pfad innerhalb des src-Pfads liegt, und mit einleitendem Slash ohne .. findet er wieder nix.

        Standard-Handwerkerkommentar: "Das kann nicht sein" :) Ich habe in fast sämtlichen Seiten solche Angaben und es funktioniert. Kannst Du mal das Beispiel in's Netz stellen?

        Gruß,
          soenk.e

        1. Moin,

          [..] Du kannst ganz einfach als absoluten Pfad /src/urlaub.html oder /pics/sonnenuntergang.jpg nehmen, der Browser macht daraus dann http://dein.server.de/src/urlaub.html und http://dein.server.de/pics/sonnenuntergang.jpg

          Nur: von index.html heißt es "pics/sonnenuntergang.jpg", mit einleitendem Slash findet er nix, und von einem src/xyz.html aus muß es "../pics/sonnenuntergang.jpg" heißen, weil sonst der pics-Pfad innerhalb des src-Pfads liegt, und mit einleitendem Slash ohne .. findet er wieder nix.

          Standard-Handwerkerkommentar: "Das kann nicht sein" :) Ich habe in fast sämtlichen Seiten solche Angaben und es funktioniert. Kannst Du mal das Beispiel in's Netz stellen?

          Nö, läuft ja nix, Aber vielleicht, falls wir aneinander vorbeireden sollten, klärt ja das folgende "Verzeichnis" was:

          index.html
          src/alle-anderen.html
          src/alle.js
          pics/alle.gif
          pics/alle.jpg

          Ein Link von index auf die Seite hugo heißt ausschließlich src/hugo.html, ein Link von otto (selbst in src) heißt ../src/otto.html oder natürlich einfacher: otto.html.
          Angy

          1. Standard-Handwerkerkommentar: "Das kann nicht sein" :) Ich habe in fast sämtlichen Seiten solche Angaben und es funktioniert. Kannst Du mal das Beispiel in's Netz stellen?

            Nö, läuft ja nix,

            Herrje. Es wäre aber ganz praktisch, statt einem Blick in die Glaskugel einen Blick auf das Problem werfen zu können. Wenn Dein Auto kaputt ist, lässt Du den Automechaniker auch nicht nachschauen, weil "läuft ja nix"?
            Aber wenn Du nicht willst oder kannst, dann zeig ich Dir an einem Beispiel, daß es geht: http://kino-fahrplan.de/programm/test.
            Du kannst auch gerne mal in den anderen Dateien dort wühlen, ich binde in sämtlichen Seiten Javascript-Dateien, Stylesheets, Grafiken und auch Verweise auf die Hauptseite auf diese Art ein. In den ersten 25 Zeilen jeder Seite wimmelt es nur so davon.

            Aber vielleicht, falls wir aneinander vorbeireden sollten, klärt ja das folgende "Verzeichnis" was:

            index.html
            src/alle-anderen.html
            src/alle.js
            pics/alle.gif
            pics/alle.jpg

            Vorausgesetzt, alle diese Dateien befinden sich, wie bereits angesprochen, im "Verzeichnis" http://dein.server.de, also..

            http://dein.server.de/index.html
            http://dein.server.de/src/alle-anderen.html
            http://dein.server.de/src/alle.js
            http://dein.server.de/pics/alle.gif
            http://dein.server.de/pics/alle.jpg

            ..dann solltest Du ohne weiteres z.B. von src/alle-anderen.html auf /index.html oder /pics/alle.gif zugreifen können.

            Wenn nicht, hast Du irgendwo von bereits angesprochenen HTML-Möglichkeiten gebrauch gemacht, dein Browser ist im Eimer, oder, allerletzte Idee, Du probierst Deine Seiten garnicht auf einem Webserver aus, sondern direkt von der heimischen Festplatte - dann geht's natürlich nicht.
            In letzterem Falle: Schieb den Kram zum Probieren in's Netz oder installier Dir den Apache (http://httpd.apache.org) auf deinem Rechner zu Hause.

            Gruß,
              soenk.e

            1. Jaaaaa, das isses doch, mein Lieber! Klar entwickel und teste ich meine Seiten zuhause und nicht auf dem Webserver, wo sie jeder sehen kann. Meine Freundin geht ja auch nicht raus, bevor das Make up sitzt. Ist doch fast dasselbe ;)

              Deine beiden Tips (Deine Website und Apache) werde ich auf jeden Fall trotzdem mal reinziehen, obwohl der Apache für mich armen kleinen Schlucker ein bisschen oversized ist. Btw habe ich bei einem Kunden mal ein schönes Schild bezüglich Apache gesehen; weiß nicht, ob Du es schon kennst:

              Linux is an red-indian tent:
              No Windows
              No Gates
              And inside an Apache

              Ciao, schönen Sonntag noch und danke für die Geduld!

              Angy

              1. Jaaaaa, das isses doch, mein Lieber! Klar entwickel und teste ich meine Seiten zuhause und nicht auf dem Webserver, wo sie jeder sehen kann. Meine Freundin geht ja auch nicht raus, bevor das Make up sitzt. Ist doch fast dasselbe ;)

                Gnmblsf, die Dinge können so einfach sein *vom-Stuhl-fall* :)

                Gruß,
                  soenk.e

                PS: Den Vergleich zu meinen Webseiten in Arbeit und Deiner Freundin spare ich mir mal.. :)

                PPS: Apache-Installation unter Windows 9x ist nicht so schwer, zum Probieren und Rumspielen langt's.

  2. Moin,moin,
    vom Prinzip ist Dein Ansatz o.K. und eine einfache Lösung erreichst du mit einem weiteren Verzeichniss für die HTML Seiten.
    Die Index-Datei in der Rootebene lässt du einfach nur auf deine neue Seite verweisen. Somit sind die Wege zu den Dateien gleich. (../pic.. -> eine Ebene hoch und dann Pic etc.)

    Bye Ford

    1. Tach auch,

      tja, ich bin mittlerweile soweit, daß ich das auch glaube.

      Die Index-Datei in der Rootebene lässt du einfach nur auf deine neue Seite verweisen. Somit sind die Wege zu den Dateien gleich. (../pic.. -> eine Ebene hoch und dann Pic etc.)

      Ist wohl immernoch die einfachste Lösung, obwohl sich einiges in mir dagegen sträubte. Aber da hatte ich mein Handtuch auch nicht dabei :)

      Guten Weiterflug!
      Angy

      1. Moin,moin..

        Ist wohl immernoch die einfachste Lösung, obwohl sich einiges in mir dagegen sträubte. Aber da hatte ich mein Handtuch auch nicht dabei :)

        Warum sträubt es sich in dir? Du kannst doch auch die Einstiegsseite in der Rootebene lassen und die Inhalte 'ein tiefer legen'. So kann man auch schnell mal größere Änderungen vornehmen ohne alles in einen großen 'Topf' werfen zu müssen. In der startseite sind dann die Pfade natürlich anders... aber wen kratzt's schon ?! Für extreme Sachen (online-Pfade etc.) habe ich mir schon Sachen mit JS gebastelt, aber das ist IMHO in bei deinem Projekt nicht notwendig.

        Bye Ford