Podstawowy HTML - jak ustawić względną ścieżkę do aktualnego folderu?


86

Powiedzmy, że obecnie jestem na: http://example.com/folder/page.html

Czy można na tej stronie utworzyć odnośnik względny, który będzie http://example.com/folder/wskazywał bez określania foldergdziekolwiek? (I używając tylko HTML.)

AKTUALIZACJA: Jak się okazało, ./działa tylko w nieostrym trybie doctype, natomiast .działa w obu trybach, więc moim zdaniem jest to lepsza odpowiedź :) Dziękuję wszystkim.


Po co ktoś miałby tworzyć względną ścieżkę do bieżącego katalogu, skoro domyślnie tylko nazwa samego pliku w href zakłada, że ​​jest to katalog bieżący?
Matthew

Odpowiedzi:


94

Tylko kropka działa. Typ dokumentu robi jednak różnicę, ponieważ czasami ./ jest również w porządku.

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

38

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

W zależności od tego, gdzie używasz ścieżki, do której chcesz się zwrócić, będzie to zależeć od tego, jak adresujesz ścieżkę.

Ogólnie:

.i ./zrób to samo, ale nie użyjesz .nazwy pliku. W przeciwnym razie przeglądarka zażąda .filename.extpliku z serwera. Właściwa byłaby metoda ./filename.ext.

../adresuje ścieżkę o jeden poziom wyżej od bieżącego folderu. Jeśli jesteś na ścieżce /cheese/crackers/yummy.html, a kod odsyłacza żądany ../butter/spread.htmlw dokumencie yummy.html, adresowałbyś ścieżkę /cheese/butter/spread.html, jeśli chodzi o serwer.

/zawsze będzie odnosić się do katalogu głównego witryny.


12

Możesz użyć

 ../

czyli o jeden poziom wyżej. Jeśli masz stronę o nazwie page2.html w tym samym folderze co strona.html, wówczas ścieżka względna to:

 page2.html.

Jeśli masz page2.html na tym samym poziomie co folder, ścieżka jest następująca:

  ../page2.html

To było odpowiedzią na pytanie, którego szukałem, jak znaleźć stronę w tym samym folderze.
jvangeld

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ę aktualnego folderu.
serg

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

1
Testuję go zarówno w IE, jak i w Firefoksie oraz „.” był taki sam jak „./” HTML 4.01 Transitional. Czy jest to problem typu dokumentu?
MrChrister

Hm, to może być to. Używam ścisłego, prawdopodobnie powinienem był o tym wspomnieć.
serg

3

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

./

.


1
Wciąż nie zgadza się, idzie o jeden poziom wyżej, a nie o to prosi ... Zobacz odpowiedź
Bullines

4
./ przejście o jeden poziom wyżej wydaje mi się bezsensowne. dlaczego to robi?
Johannes Schaub - litb


2

Najlepsza odpowiedź nie jest wystarczająco jasna. oto co zadziałało dla mnie: poprawny format powinien wyglądać tak, jeśli chcesz wskazać rzeczywisty plik:

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

To spowoduje, że wskażesz ten plik w tym samym folderze, jeśli jesteś na stronie http://example.com/folder/index.html

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.