Grundlegendes HTML - Wie wird der relative Pfad zum aktuellen Ordner festgelegt?

85

Nehmen wir an, ich bin gerade bei: http://example.com/folder/page.html

Ist es möglich, auf dieser Seite einen relativen Link zu erstellen, der auf etwas verweist, http://example.com/folder/ohne etwas anzugeben folder? (Und nur HTML verwenden.)

UPDATE: Wie sich herausstellte, ./funktioniert es nur im nicht strengen Doctype-Modus, während es .in beiden Modi funktioniert, daher ist es meiner Meinung nach immer noch eine bessere Antwort :) Vielen Dank an alle.

serg
quelle
Warum sollte jemand einen relativen Pfad zum aktuellen Verzeichnis erstellen, wenn standardmäßig nur der Name der Datei selbst in href das aktuelle Verzeichnis annimmt?
Matthew

Antworten:

93

Nur Punkt funktioniert. Der Doctype macht jedoch einen Unterschied, da manchmal auch die ./ in Ordnung ist.

<a href=".">Link to this folder</a>
MrChrister
quelle
37

Für jeden, der diesen Thread gefunden hat, hat das Adressieren relativer Pfade immer Argumente darüber erzeugt, was richtig ist oder nicht.

Je nachdem, wo Sie den zu adressierenden Pfad verwenden, hängt es davon ab, wie Sie den Pfad adressieren.

Allgemein :

.und ./machen Sie dasselbe, aber Sie würden es nicht .mit einem Dateinamen verwenden. Andernfalls fordert der Browser .filename.exteine Datei vom Server an. Die richtige Methode wäre ./filename.ext.

../Adressiert den Pfad eine Ebene höher als der aktuelle Ordner. Wenn Sie sich im Pfad befinden /cheese/crackers/yummy.htmlund Ihr Linkcode ../butter/spread.htmlim Dokument yummy.htmlangefordert wird, würden Sie den Pfad /cheese/butter/spread.htmlfür den Server adressieren .

/wird immer das Stammverzeichnis der Site adressieren .

Mark Giblin
quelle
12

Sie können verwenden

 ../

eine Ebene höher bedeuten. Wenn Sie eine Seite aufgerufen haben page2.html im selben Ordner wie seite.html dann der relative Pfad ist:

 page2.html.

Wenn Sie page2.html auf derselben Ebene wie der Ordner haben, lautet der Pfad:

  ../page2.html
Vincent Ramdhanie
quelle
Das beantwortete die Frage, nach der ich gesucht habe, wie man eine Seite im selben Ordner findet.
Jvangeld
10
<html>
    <head>
        <title>Page</title>
    </head>
    <body>
       <a href="./">Folder directory</a> 
    </body>
</html>
Bullines
quelle
1
Nee. Dies geht eine Ebene höher. Ich brauche den aktuellen Ordner.
Serg
3
Nein, ist es nicht :) Der einzelne Punkt ist die Antwort.
Serg
1
Ich teste es sowohl in IE als auch in Firefox und "." war das gleiche wie "./" HTML 4.01 Transitional. Liegt ein Problem mit dem Dokumenttyp vor?
MrChrister
Hm, das könnte es sein. Ich benutze strenge, hätte das wohl erwähnen sollen.
Serg
3

Beide der folgenden Punkte scheinen zu funktionieren

./

.

bdukes
quelle
1
Immer noch nicht richtig, das geht eine Stufe höher, was er nicht verlangt ... Siehe Bullines Antwort
da5id
4
./ eine Ebene höher zu gehen scheint mir Unsinn zu sein. warum macht es das
Johannes Schaub - Litb
2
<a href="./">Folder</a>
Steve Tranby
quelle
2

Die beste Antwort ist nicht klar genug. Folgendes hat bei mir funktioniert: Das richtige Format sollte so aussehen, wenn Sie auf die tatsächliche Datei verweisen möchten:

 <a href="./page.html">

Dadurch müssen Sie auf diese Datei im selben Ordner verweisen, wenn Sie sich auf der Seite befinden http://example.com/folder/index.html

JayPex
quelle