Wolfgang Geenen: Relative Verweise in Html

Hi,
ich baue grad die neue Homepage für unseren Kegelklub.
Ich will für jeden einen Steckbrief schreiben und in einem Unterordner ablegen. Zurück geht es mit einem relativen Verweis, ein Verzeichnis hoch und dann zur Hauptseite.
Laut SelfHtml geht das mit diesem: ../ Befehl.
Mit dem IE6 klappt das auch einwandfrei.
Mit Opera, Mozilla und Netscape 6.2 geht das nur mit: ../../
Wo ist jetzt der Fehler? Es können sich doch bei solchen Allerweltsbefehlen nicht alle Browser widersprechen.
Ich hab die Seite noch nicht hochgeladen, sondern erst auf dem heimischen Rechner ausprobiert.
Im Archiv konnte ich auch nichts dazu finden.
Vermutlich, weil es nicht ganz einfach ist, dazu die richtigen Suchbegriffe zu finden ;).

MfG
Wolfgang Geenen

  1. Hallo Wolfgang,

    Ich will für jeden einen Steckbrief schreiben und in einem Unterordner ablegen. Zurück geht es mit einem relativen Verweis, ein Verzeichnis hoch und dann zur Hauptseite.

    Kannst du mal das genaue Verzeichnischema "malen"? Ich habe das jetzt so verstanden:

    --> Stammordner
        --> hauptseite.htm (Hauptseite)
        --> steckbriefe (Ordner, der alle Steckbriefe enthält)
            --> mustermann.htm (Steckbrief für Mustermann)

    Der Zurücklink befindet sich dabei in der Datei "mustermann.htm" und soll auf die Datei "hauptseite.htm" verweisen.

    Laut SelfHtml geht das mit diesem: ../ Befehl.

    <besserwisser excuse="scnr">Das ist kein Befehl.</besserwisser>

    Mit "../" kommst du nur ein Verzeichnis höher, nicht aber zu der HTML-Datei, zu der du möchtest. Du würdest in dem oben aufgezeichneten Schema also auf den Stammordner verweisen, nicht auf die Hauptseite. Dazu müsstest du "../hauptseite.htm" notieren (oder wie auch immer die Hauptseite eben heißt).

    Mit Opera, Mozilla und Netscape 6.2 geht das nur mit: ../../

    Das ist seltsam. Hast du eine externe Script-Datei eingebunden, die sich in einem anderen Verzeichnis befindet? Darin unterscheiden sich die Browser manchmal.

    Viel Erfolg,
    Robert

    1. --> Stammordner
          --> hauptseite.htm (Hauptseite)
          --> steckbriefe (Ordner, der alle Steckbriefe enthält)
              --> mustermann.htm (Steckbrief für Mustermann)

      Genau so meinte ich das.
      -->Jubelb_neu
        -->jubelbuben.htm (Hauptseite)
          -->steckbriefe.htm (enthält alle Steckbriefe)
            -->Gino.htm (Steckbrief)
      Um dem Ganzen mal ein Gesicht zu geben ;)

      Der Zurücklink befindet sich dabei in der Datei "mustermann.htm" und soll auf die Datei "hauptseite.htm" verweisen.

      Du würdest in dem oben aufgezeichneten Schema also auf den Stammordner verweisen, nicht auf die Hauptseite. Dazu müsstest du "../hauptseite.htm" notieren (oder wie auch immer die Hauptseite eben heißt).

      Sorry, hätte ich sagen sollen.
      Also einmal hab ich mit "../jubelbuben.htm" zurück verwiesen, da gings nur im IE6. Und einmal hab ich mit "../../jubelbuben.htm" zurück verwiesen, da gings nur mit Opera, Mozilla und Netscape, aber nichtmehr mit IE. Die Steckbriefdateien bestehen nur aus einer Tabelle und eben diesem Link "zurück".
      Keine eingebundene Script-Datei. (Um genau zu sein weiß ich noch nichtmal genau, was damit gemeint ist).

      Wolfgang

      1. Hallo,

        das hier will mir noch nicht so ganz einleuchten:

        Genau so meinte ich das.
        -->Jubelb_neu
          -->jubelbuben.htm (Hauptseite)
            -->steckbriefe.htm (enthält alle Steckbriefe)
              -->Gino.htm (Steckbrief)
        Um dem Ganzen mal ein Gesicht zu geben ;)

        Was meiner Meinung nach Sinn macht:
        Jubelbuben (RootDir)
          index.htm
          jubelbuben.htm
          steckbriefe.htm
          Steckbriefe (Dir)
            bert.htm
            detlef.htm
            olaf.htm

        Wenn Du also innerhalb von bert.htm auf jubelbuben.htm verweisen willst, dann ist
        href="../jubelbuben.htm" absolut richtig, denn jubelbuben.htm liegt ein Verzeichnis höher als bert.htm. ".." bewegt den Pfad um eine Verzeichnisebene nach oben! Diese Angabe funktioniert 100%ig.

        "../../jubelbuben.htm" macht absolut keinen Sinn, für die obige Verzeichnisstruktur!!!

        Um von bert.htm auf detlef.htm zu verweisen, reicht href="detlef.htm"

        Um von jubelbuben.htm auf olaf.htm zu verweisen genügt: href="Steckbriefe/olaf.htm"

        Alternativ kannst Du folgende absolute Pfadangaben verwenden, um auf jubelbuben.htm zu verweisen:
        href="/jubelbuben.htm". Diese Angabe funktioniert sowohl von bert.htm aus, als auch von index.htm oder sonsteiner Datei.

        Weitere Details gibts dazu unter:
        http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2396.html
        Anhang C.1 (page 30)

        Liebe Grüße

        Martin

    2. Kleine Korrektur

      Die Struktur sieht natürlich so aus:

      -->Jubelb_neu
        -->jubelbuben.htm (Hauptseite)
        -->steckbriefe (enthält alle Steckbriefe)
            -->Gino.htm (Steckbrief)

      "jubelbuben.htm" und der Ordner "steckbriefe" befinden sich im gleichen Verzeichnis.
      Und der Ordner "steckbriefe" ist natürlich auch keine htm Datei.

      Wolfgang

      1. Hallo Wolfgang,

        Die Struktur sieht natürlich so aus:

        -->Jubelb_neu
          -->jubelbuben.htm (Hauptseite)
          -->steckbriefe (enthält alle Steckbriefe)
              -->Gino.htm (Steckbrief)

        Bei dieser Struktur müsste ein Link "../jubelbuben.htm" in der Datei Gino.htm funktionieren. Also so:

        <a href="../jubelbuben.htm">Zurück zur Hauptseite</a>

        Und das ganze steht in der Datei "Gino.htm".

        Würde mich sehr wundern, wenn das nicht funktioniert. Hast du die Groß-/Kleinschreibung berücksichtigt? Schick mal den URL, dann können wir uns vielleicht eher ein Bild machen.

        Robert