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 folder
gdziekolwiek? (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.
Odpowiedzi:
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>
źródło
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.ext
pliku 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.html
w dokumencieyummy.html
, adresowałbyś ścieżkę/cheese/butter/spread.html
, jeśli chodzi o serwer./
zawsze będzie odnosić się do katalogu głównego witryny.źródło
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:
źródło
<html> <head> <title>Page</title> </head> <body> <a href="./">Folder directory</a> </body> </html>
źródło
Oba poniższe wydają się działać
./
.
źródło
<a href="./">Folder</a>
źródło
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
źródło