什么时候应该在URL中使用尾随斜杠?例如,我的URL应该看起来像/about-us/还是像/about-us?

我完全意识到seo相关的问题——重复的内容和规范的东西;我正在试图找出我应该在正确地单独提供页面的上下文中使用哪一个。

例如,我的同事认为末尾的斜杠意味着它是一个“文件夹”-一个“目录”,所以这不是一个正确的风格。但我认为最后没有斜杠也不太正确,因为它看起来像一个文件夹,但它不是,它也不是一个正常的文件,而是一个没有扩展名的文件名。

是否有正确的方法知道使用哪种?


当前回答

我总是惊讶于在非目录url (WordPress等)上大量使用尾随斜杠。这真的不应该是一个非此即彼的争论,因为在资源后面加上斜杠在语义上是错误的。web被设计用来提供可寻址的资源,而这些地址(url)被设计用来模拟*nix风格的文件系统层次结构。在这种情况下:

斜杠总是表示目录,而不是文件。 文件可以命名为任何名称(带或不带扩展名),但不能包含斜杠或以斜杠结尾。

使用这些指导原则,在非目录资源后加上斜杠是错误的。

其他回答

谁说文件名需要扩展名??找个时间看看*nix机器… 我同意你朋友的说法,没有拖尾斜线。

从SEO的角度来看,选择是否在URL的末尾包含一个斜杠是无关紧要的。如今,这两种情况在网络上都很常见。网站不会受到任何惩罚,也不会影响你网站的搜索引擎排名或其他SEO考虑因素。

只需要选择一个你喜欢的URL命名约定,并在每个网页的<head>部分包含一个规范的元标签。

搜索引擎可能会认为一个网页是两个独立的重复url,当他们遇到它带有或不带有后面的斜杠时,例如example.com/about-us/和example.com/about-us。

最好的做法是在每个页面上包含一个规范的元标记,因为您无法控制其他站点如何链接到您的url。

canonical标签是这样的:<link rel="canonical" href="https://example.com/about-us" />。使用规范的元标记可以确保搜索引擎只计算你的每个url一次,而不管其他网站链接到你的网站时是否包含一个尾随斜杠。

在我个人看来,后面的斜杠被误用了。

基本上,URL格式来自于相同的UNIX文件和文件夹格式,后来,在DOS系统上,最后,适用于web。

在类unix操作系统上,这本书的典型URL是文件路径,如file:///home/username/RomeoAndJuliet.pdf,用于标识保存在本地硬盘文件中的电子书。

来源:维基百科:统一资源标识符

另一个很好的阅读来源:维基百科:URI Scheme

According to RFC 1738, which defined URLs in 1994, when resources contain references to other resources, they can use relative links to define the location of the second resource as if to say, "in the same place as this one except with the following relative path". It went on to say that such relative URLs are dependent on the original URL containing a hierarchical structure against which the relative link is based, and that the ftp, http, and file URL schemes are examples of some that can be considered hierarchical, with the components of the hierarchy being separated by "/".

来源:维基百科统一资源定位器(URL)

另外:

这是我们经常听到的问题。继续寻找答案吧!从历史上看,通常url末尾带有斜杠来表示目录,而那些末尾没有斜杠来表示目录 表示一个文件: http://example.com/foo/(后面带斜杠,通常是一个目录) http://example.com/foo(没有后面的斜杠,通常是一个文件)

来源:谷歌网站管理员中心博客-削减或不削减

最后:

URL末尾的斜杠使地址看起来“漂亮”。 一个没有斜杠结尾,没有扩展名的URL看起来有点“奇怪”。 你永远不会把你的CSS文件命名为http://www.sample.com/stylesheet/,你会吗?

但我是一个不考虑环境的网络最佳实践的支持者。 它可能是不稳定的和不清楚的,就像你说的URL没有下一个。

这不是一个偏好的问题。/base和/base/有不同的语义。在许多情况下,这种差异并不重要。但当存在相对url时,这很重要。

Child相对于/base/是/base/ Child。 Child相对于/base是(也许令人惊讶)/ Child。

对于根域或子域,后面的斜杠无关紧要。谷歌认为这两个是等价的。

但后面的斜杠对其他所有内容都很重要,因为谷歌将两个版本(一个带有后面的斜杠,一个没有)视为不同的url。 通常,URL末尾的斜杠(/)意味着URL是一个文件夹或目录。

末尾没有斜杠的URL通常意味着该URL是一个文件。

阅读更多

谷歌的建议