什么"。/"(点/斜杠)指的是在一个HTML文件的路径位置?

我知道../表示沿着一条路径走,但是./到底是什么意思呢?

我最近读了一个教程,它似乎只是指同一个位置的一个文件,所以它是必要的吗?如果它只会这样,我能不用它吗?

210966 次浏览

是的,./表示当前工作目录。您可以直接通过名称引用文件,而不需要它。

.  = This location
.. = Up a directory

因此,./foo.html就是foo.html。它是可选的,但如果是脚本生成的路径,则可能具有相关性(即与脚本的相关性,而不是引用的工作方式)。

你说得对,你可以省略它。它只对清晰有用。在那里和不在那里之间没有功能上的区别。

是的,./表示你当前所在的目录。

./工作文件所在的文件夹:

所以在/index.htm./是根目录
但是在/css/style.css./是css文件夹

记住这一点很重要,因为如果你将CSS从/index.htm移动到/css/style.css,路径将会改变。

/表示当前驱动器的根目录;

./表示当前目录;

../表示当前目录的父目录。

您可以使用以下列表作为快速参考:

   /   = Root directory
.   = This location
..  = Up a directory
./  = Current directory
../ = Parent of current directory
../../ = Two directories backwards
< p >有用的文章: https://css-tricks.com/quick-reminder-about-file-paths/ < / p >

例如,css文件在名为CSS的文件夹中,html文件在名为HTML的文件夹中,这两个文件都在名为XYZ的文件夹中,这意味着我们将html中的css文件称为

<link rel="stylesheet" type="text/css" href="./../CSS/style.css" />

这里..向上移动到HTML
.指当前目录XYZ

——按照这个逻辑,你可以引用为:

<link rel="stylesheet" type="text/css" href="CSS/style.css" />

在参考快速参考列表时,具体可以使用以下方法:

\。\根目录+当前目录(盘符)

一个关于路径的快速和小的概述

绝对路径

< p > http://website.com/assets/image.jpg
如果图像是不在你的领域内 -去那里找image


< p > //website.com/assets/image.jpg
使用HTTP或HTTPS协议加载的图像


相对路径

(如果映像在同一服务器上,则适用于内部使用)


< p > image.jpg
Image 在与调用Image的文档相同的位置!


< p > ./image.jpg
如上所述,图像在与调用图像的文档相同的位置!< / p >
< p > /assets/image.jpg
类似于绝对路径,只是省略了协议和域名
从我的根文件夹/开始搜索我的图像,然后到assets/


< p > assets/image.jpg
这一次,资产与文档位于同一位置,因此进入资产查找图像


< p > ../assets/image.jpg
从文档所在的位置,进入一个文件夹回来 ../,并进入assets


< p > ../../image.jpg
两个文件夹回来,这是我的图像!< / p >
< p > ../../assets/image.jpg
两个文件夹回来 ../../ 然后进入 assets

不要使用./作为web路径!我在下面解释为什么会这样……

真正的网络路径,你应该总是使用

../siblingfolder/file.html是一个web路径,从你所在的文件夹开始,上升父文件夹(../),向下到一个名为“兄弟文件夹”的新文件夹。到"file.html"在里面。这是web世界中相对路径的一种类型。

childfolder/file.html是另一种web路径,从你所在的文件夹开始,下降到“;子文件夹”。和“;file.html"在里面。这也是作为相对路径

/subrootfolder/file.html是一个网页路径,从你的网站的web根从网根向下开始进入“subrootfolder”。作为绝对路径。注意:此路径具有额外的优势,因为它从服务器上的任何文件和文件夹位置工作. conf。

http://somewebsite.com/subrootfolder/file.html是另一个web路径,它与上面的路径完全相同,但需要你的网络域在路径中。它仍然可以工作,但非常有限,因为web域是硬编码到路径中。有些人称之为完全限定的web路径,它有一些用途。web浏览器还将大多数文件路径解析为该地址或该地址的IP版本。

尴尬和很少使用的路径

.是当前位置或文件上下文的简写,在Linux和Unix中用于在当前目录中执行已编译程序。这就是为什么你在Web开发中很少看到它的使用,除了开源的非windows框架,比如谷歌角,它是由那些被困在开源平台上的人编写的。

./也解析到当前目录,在Web中不是典型的,但在一些开源框架中支持作为路径。因为它与没有路径解析到当前文件目录相同,所以它没有被使用。例子:./image.jpg = image.jpg。尽管软件使用它来识别当前文件夹位置,但由于它与当前软件路径或文件位置相同,因此它与没有冗余的路径相同。同样,这是Unix操作系统的遗留物,因为安全原因,Unix操作系统需要像这样的路径解析来运行可执行文件和解析路径。这不是一个典型的网络路径。这就是为什么这种语法在HTML和web技术中是多余的。

//somewebsite.com/folder/folder/file.html这是一种完全限定的web URL解析格式。“/ /”;告诉web浏览器在运行时确定完全限定的web URL/URI,并将正确的http协议连接到路径的前面,如下所示:https://mywebsite.com/folder/folder/file.html。它允许浏览器查询众多网络域中的一个,并确定要使用的最安全的位置或协议:或“;https"作为最有利、最安全的前缀。这在大多数内部web路径中很少使用,但可能在较新的HTML5元素中的link href属性路径中发现,并在添加到资源的链接时使用,这些资源可能在运行时解析为未知的动态安全套接字层连接。

路径等价物

在这种情况下,folder = /folder a 相对路径绝对路径相同,如果文件访问这个子“;文件夹”;位于web根目录下。这两条路对他们来说都是一样的。

../folder = /folder上到父文件夹然后下到“文件夹”的相对路径;如果再次访问该路径的文件在web根目录下,则与绝对路径相同。

./folder = folder两个相对路径都从文件当前文件夹开始,指向子文件夹。在它们下面,不管这些文件夹放在哪里,都是一样的。“。/”;因此是多余的。

./file.html = file.html两个相对路径都指向当前文件夹,然后指向一个" file.html"在那个文件夹里。这意味着使用"。/"是多余的。

./ = {no path}是一个空路径,与web世界中的./相同,所以又冗余了。

如果文件在web根文件夹下,./ = /只为真。同样,这意味着“;./"是多余的。

我的网络路径建议

总是尽可能使用绝对路径 ("/myfolder/myfile"),因为它们总是在web项目中的任何文件位置工作,不会给开发人员带来困惑,移动具有绝对路径的文件不会改变路径,并且它们易于维护和管理。绝对路径的唯一缺点是如果您将文件或文件夹移动到新的位置(例如:您将文件的图像或CSS文件夹移动到项目后面的新位置)。这就是为什么我建议您通过服务器端虚拟路径、应用程序路径或服务器生成的变量来管理路径,这样您就可以在移动内容时动态地更改绝对路径。

总是使用相对Web路径 ("../myfile")作为二次选择。对于CSS文件路径、CSS导入文件或CSS文件中的字体路径,这些都是必须的。只有当您的web应用程序设计为在一个域下并行运行许多并行应用程序时,才应该使用它们,并且在这些应用程序中运行嵌套且严重依赖的资源文件,必须将它们分开。在这种情况下,您通常会将这些应用程序作为一个模块移动到应用程序的更深处,从而使相对路径更有价值。在这种情况下,您将确定相对于源文件的路径,而不是通过绝对路径相对于web域的路径。如上所述,我仍然会通过服务器端或虚拟应用程序生成的路径来管理路径。这使得路径非常简单、健壮,并且很容易通过服务器变量动态更新,而不是在脚本和依赖关系中不断发展。

永远不要使用列出的其他路径,除非被非典型的、第三方的、专有的软件约定所强迫,使用不符合标准的路径解决方案,这会增加混乱和额外的维护。:(