URLs:短横线和下划线的区别

232

在你的URL中,使用连字符还是下划线更好?

应该选择/about-us还是/about_us

从可用性角度来看,我个人认为对最终用户来说/about-us更好,但Google和大多数其他网站(以及JavaScript框架)使用下划线命名模式。这只是样式问题吗?连字符有兼容性问题吗?


6
为什么不*/index____1125.aspx*(有四个下划线,非常重要!)? - Christian Davén
7
在一个肯定是相关话题的网站上重复提问。 - Mark Amery
4
Google工程师的好视频解释:https://www.youtube.com/watch?v=AQcSFsQyct8 - JohnB
1
来这里是为了弄清楚 whether_domain_URLs_can_have_underscores.com 是否可以有下划线。 - neverMind9
相关:https://dev59.com/Nmkv5IYBdhLWcg3w3Eel - Anton Tarasenko
TL;DR:域名不能包含下划线(不允许)。在域名之后的url部分可以包含下划线,虽然不建议使用(最好使用破折号,因为它能更好地与搜索引擎进行排名)。 - stevec
18个回答

3

我认为从用户角度来看,短横线更好,并且不会影响SEO。

不确定下划线惯例是在何时何地开始的。

更多了解请参见讨论


3

我更喜欢使用破折号,因为下划线可能会被链接下划线遮挡。文本URL主要用于一眼识别,而不是语法正确,因此保留破折号用于连字符单词的论点是有限的。

当朗读文本URL时,准确性很重要,这时您不希望将下划线与空格(或反之)混淆。

如果这有任何意义,我也觉得破折号更美观。


2

对于最终用户视图,我更喜欢使用“about-us”或“about us”,而不是“about_us”。


0

个人而言,我会避免使用 about-us 或 about_us,而是直接使用 about。


3
关于我们/不开玩笑/这就是它 :) - Brad Wilson
16
这就是你的解决方案吗?好的,那么关于我们的客户或其他可能相关的众多"关于"页面呢?忽略问题并不能算作解决方案。 - billjamesdev

0
一些较旧的网络托管和DNS服务器实际上存在解析URL下划线的问题,因此这可能在这些约定中起到一定作用。

2
是的,但那只是在主机名中。 - Anirvan
错误。所有DNS服务器都存在下划线问题,因为下划线在域名中不是合法字符;这是事实。如果你不相信,请查看标准。但是DNS服务器只解析URL的主机部分,而且这个问题与主机部分或DNS名称无关。 - Mecki

0

如果是在代码中,我个人会避免使用所有的破折号和下划线,并选择驼峰命名法帕斯卡命名法

维基百科上的驼峰命名法文章解释了一些它起源的原因。这些原因包括:

  1. 懒惰的程序员不喜欢按下_键
  2. 可能会导致可读性混淆
  3. xerox PARC的"Alto"键盘没有下划线键。

如果用户要看到字符串,则我不会使用上述任何一种方式,而是使用"About us."或"AboutUs",因为驼峰命名法已经在某些领域(如产品名称)普及了,例如ThinkPad、TiVo。


搜索引擎如何知道一个单词的起始和结束位置? - Joe Phillips
为什么搜索引擎不能像处理其他分隔符(如_、-或:)一样处理PascalCase呢? - user18443
1
好的建议……如果这个问题是关于代码的话。URL通常是不区分大小写的,并且通常以小写显示。 - Armstrongest
1
@dI-_-Ib 仅域名不区分大小写。路径区分大小写,因此camel和pascal样式是可行的选择。但是,使用它们实际上使它们所代表的单词不区分大小写。在我看来,这将是该选项的最大问题。 - Atli

0

URL中允许出现空格,因此您可以在链接中使用“/about us”(尽管它将被编码为“/about%20us”)。但说实话,这总是个人喜好,因此这里没有真正的答案。

我会遵循破折号可以出现在单词中的惯例,因此空格应转换为下划线。


0

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