如何设置相对路径到当前文件夹?

106
假设我当前位于: http://example.com/folder/page.html 是否可能在此页面上创建一个相对链接,指向http://example.com/folder/而无需在任何地方指定folder?(仅使用HTML。)
更新:事实证明,在非严格的doctype模式下,./有效,而.在两种模式下都有效,因此在我看来仍然是更好的答案:) 谢谢大家。

1
为什么有些人会创建相对路径到当前目录,而默认情况下href中文件名本身就假定了当前目录呢? - Matthew
7个回答

105

只有一个点是有效的。但是文档类型声明的不同有时候也可以使用"./"。

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

55

对于任何发现此主题的人,关于相对路径的处理一直引起争论,争论什么是正确或不正确的。

取决于您使用要处理的路径的位置,这将取决于您如何处理该路径。

通常:

. ./ 执行相同的操作,但是您不会在文件名中使用 . 。否则,浏览器将请求服务器上的 .filename.ext 作为文件。适当的方法是 ./filename.ext

../ 地址为当前文件夹上一级的路径。如果您在路径 /cheese/crackers/yummy.html 中,并且您的链接代码在文档 yummy.html 中请求 ../butter/spread.html ,则您将访问路径 /cheese/butter/spread.html ,就服务器而言。

/ 始终会定位到站点的根目录。


12

您可以使用

 ../

表示向上一级。如果在与page.html相同的文件夹中有一个名为page2.html的页面,则相对路径为:

../page2.html

 page2.html.
如果您在与文件夹同级的位置有page2.html,则路径为:
  ../page2.html

这回答了我来这里寻找的问题,如何在同一文件夹中查找页面。 - jvangeld

11
<html>
    <head>
        <title>Page</title>
    </head>
    <body>
       <a href="./">Folder directory</a> 
    </body>
</html>

1
不对,这是上一级目录。我需要当前文件夹。 - serg
6
不是的 :) 单个句点就是答案。 - serg
1
我在IE和Firefox中进行了测试,"."与"./"相同,HTML 4.01 Transitional。这是文档类型的问题吗? - MrChrister
嗯,可能就是这样。我正在使用 strict 模式,可能应该提一下。 - serg

3

以下两种方式都可以正常工作

./

.


1
还不对,这个回答上升了一个层级,这不是他所问的... 请看Bullines的回答。 - da5id
5
升级一级对我来说似乎毫无意义。它为什么要这样做? - Johannes Schaub - litb

2

最佳答案不够清晰。以下是对我有用的方法:如果您想指向实际文件,则正确的格式应该如下:

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

如果您在页面 http://example.com/folder/index.html 上,这将会让您指向同一文件夹内的文件。

2
<a href="./">Folder</a>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接