2008-11-17 4 views
66

Powiedzmy, jestem obecnie na: http://example.com/folder/page.htmlPodstawowy HTML - jak ustawić względną ścieżkę do bieżącego folderu?

Czy to możliwe, aby stworzyć względną link na tej stronie, która wskazuje na http://example.com/folder/ bez określania folder gdziekolwiek? (A używając tylko HTML.)

UPDATE: Jak się okazało ./ działa tylko w trybie non-ścisłej doctype, natomiast . działa w obu trybach, więc nadal jest to lepsze rozwiązanie moim zdaniem :) Dziękuję wszystkim.

+0

Dlaczego ktoś utworzyłby ścieżkę względną do bieżącego katalogu, jeśli domyślnie nazwa samego pliku w href zakłada bieżący katalog? – Matthew

Odpowiedz

71

Wystarczy dot działa. Doctype robi różnicę, ponieważ czasami ./ jest również w porządku.

<a href=".">Link to this folder</a> 
3

Oba poniżej wydają się działać

./

.

+2

Wskazuje to na folder główny. – serg

+0

Dobrze, nie myślałem przez sekundę. Dzięki. – bdukes

+1

Nadal nie w porządku, to idzie o jeden poziom wyżej, co nie jest tym, o co pyta ... Zobacz odpowiedź Bullines – da5id

10
<html> 
    <head> 
     <title>Page</title> 
    </head> 
    <body> 
     <a href="./">Folder directory</a> 
    </body> 
</html> 
+1

Nie. To idzie o jeden poziom wyżej. Potrzebuję obecnego folderu. – serg

+0

To jest poprawne połączenie z bieżącym folderem – MrChrister

+3

Nie, nie jest :) Pojedyncza kropka jest odpowiedzią. – serg

8

Można użyć

../ 

oznacza o jeden poziom wyżej. Jeśli masz stronę o nazwie page2.html w tym samym folderze co page.html wtedy względna ścieżka jest:

page2.html. 

Jeśli masz page2.html na tym samym poziomie z folderu wówczas ścieżka to:

../page2.html 
+0

To odpowiadało na pytanie, po co tu przyszedłem, jak znaleźć stronę w tym samym folderze. – jvangeld

1
<a href="./">Folder</a> 
32

Dla każdego, kto znalazł ten wątek, adresowanie ścieżek względnych zawsze tworzyło argumenty na temat tego, co jest poprawne lub nie.

W zależności od tego, gdzie używasz ścieżki do rozwiązania, będzie zależało od tego, w jaki sposób adresujesz ścieżkę.

Ogólnie:

. i ./ zrobić to samo, jednak nie użyłby . z nazwy pliku. W przeciwnym razie przeglądarka będzie wymagać od serwera .filename.ext pobrania pliku. Właściwą metodą byłoby ./filename.ext.

../ odnosi się do ścieżki o jeden poziom wyżej od bieżącego folderu. Jeśli byłeś na ścieżce /cheese/crackers/yummy.html i Twój kod linku poprosił o ../butter/spread.html w dokumencie yummy.html, to adresowałbyś ścieżkę /cheese/butter/spread.html, jeśli chodzi o serwer.

/ będzie zawsze adresowany do katalogu głównego witryny.

1

Najlepsza odpowiedź nie jest wystarczająco jasna.tutaj jest to, co pracował dla mnie: Poprawny format powinien wyglądać tak, jeśli chcesz, aby wskazać rzeczywistą pliku:

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

będzie to miało wskazaniu tego pliku w tym samym folderze, jeśli jesteś na stronie http://example.com/folder/index.html