it-swarm.cn

网址:Dash vs. Underscore

应该是 /about_us /about-us

从可用性的角度来看,我个人认为 /about-us 对于最终用户来说要好得多,而谷歌和大多数其他网站(以及javascript框架)都使用下划线命名模式。这只是风格问题吗?破折号是否存在兼容性问题?

163
lubos hasko

这只是一个猜测,但似乎他们选择了人们最可能 不会 在名称中使用的那个。这样,您可以使用包含带连字符的Word的名称,并仍然使用下划线作为Word分隔符,例如UseTwo-wayLinks可以转换为use_two-way_links。

在您的示例中,/ about-us将是一个名为带连字符的Word“about-us”的目录(如果存在这样的Word,并且/ about_us将是一个名为“关于我们”的双字短语转换为单个字符串的目录非白色字符。

28
billjamesdev

来自Google网站管理员中心

请考虑在您的网址中使用标点符号。 URL http://www.example.com/green-dress.html 对我们来说比 http://www.example.com/greendress.html 更有用。我们建议您在网址中使用连字符( - )而不是下划线(_)。

178
James Lawruk

以下是支持破折号的几点:

  • Google推荐使用破折号( source )。
  • 最终用户更熟悉破折号。
  • 在标准键盘上更容易编写破折号(无需Shift)。
  • 破折号不会隐藏在下划线后面。
  • Dashes在URL的上下文中感觉更原生,因为它们在域名中是允许的。
50
Emanuil Rusev

它不仅仅是短划线与下划线:

  • 带空格的文字
  • textwithoutspaces
  • 编码%20spaces%20英寸%20URL
  • underscore_means_space
  • 划线装置空间
  • 加+指+空间
  • 骆驼香烟盒
  • PascalCase
  • “引用带空格的文字” (和单引号与双引号)
  • 斜线/装置/空间
  • dot.means.space
49
Mark Stock

Google过去并没有将下划线视为Word分隔符,我认为这非常疯狂,但显然它现在就是这样。由于这段历史,破折号是首选。虽然从SEO的角度来看现在允许下划线,但我仍然认为短划线是最好的。

一个好处是,你的普通半计算机 - 文盲网络冲浪者更有可能在键盘上输入短划线,他们甚至可能不知道下划线是什么。

36
MrZebra

我曾经一直使用下划线,现在我只将它们用于我不希望任何人直接链接的网站部分,js文件,css,...等。

从SEO的角度来看,破折号似乎是处理它的首选方式,详细解释来自马口 http://www.mattcutts.com/blog/dashes-vs-underscores/

与公共程序员相比,似乎发生的另一个问题是,当带有下划线的超链接带有下划线时,您无法看到下划线。高级用户将会解决这个问题,但Joe Public可能不会。

仍然在代码中使用下划线而不是破折号 - 程序员理解它们,而大多数其他人则不然。

14
seanb

杰夫对此有一些想法: https://blog.codinghorror.com/of-spaces-underscores-and-dashes/

两者都有缺点。我建议你选一个并保持一致。

11
s d

搜索引擎优化大师 吉姆韦斯特格伦在严格的SEO视角下测试了这个 2005年,并得出结论+(加)实际上是最好的字分隔符。但是,这似乎并不合理,可能是由于搜索引擎算法中存在错误。他建议 - (破折号)兼容可读性和SEO。

8
Christian Davén

我更喜欢下划线。首先,它们与我的variable_names_are_not-subtraction的常规编程经验相匹配,其次,我相信这已经提到了,单词可以有连字符,但它们没有下划线。选择一个非常愚蠢的例子,“民族国家”与“民族国家”不同。前者翻译的是“民族国家的土地”(想想“这里是枪支的国家!最好的移动,是的,你好吗?”),而后者看起来像是一些有时同义词的列表。 http://example.com/nation-state-country/似乎与http://example.com/nation-state_country/的意思不一样,但是,如果连字符是分隔符/“空格”以及单词中的字符,它可以。对于实际目的,后者似乎更清楚,而前者看起来更像是那个列表,如果有的话。

7
Devin Jeanpierre

下划线替换不允许空格的空格。破折号(连字符)可以是Word的一部分,因此连接已经包含连字符的连字符的单词是丑陋/混乱的。

坏:

/low-budget-movies

好:

/low-budget_movies
4
jpeacock

从用户的角度来看,我认为破折号更好,它不会干扰SEO。

不确定下划线约定的开始位置和原因。

更有见识 辩论

3
Geoff

我更喜欢破折号,因为下划线可能会被链接下划线所掩盖。文本URL主要用于一目了然而不是语法正确,因此用于保留用于连字词的短划线的参数是有限的。

文本URL的准确性很重要的地方在于将其读出给某人时,在这种情况下,您不希望混淆空格的下划线(反之亦然)。

我发现破折号在美学上更令人愉悦,如果这对任何东西都有意义的话。

3
Andrew Ingram

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

2
Krirk

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

1
RodgerB

一些较旧的Web托管和DNS服务器实际上在解析URL的下划线时遇到问题,因此可能会在这些惯例中发挥作用。

1
Jon Limjap

我个人会避免所有破折号和下划线并选择 camelCasePascalCase 如果它的代码。

关于camelCase的维基百科文章解释了它起源背后的一些原因。他们相当于

  1. 懒惰的程序员谁不喜欢伸手去拿_钥匙
  2. 关于可读性的潜在混淆
  3. Xerox PARC的“Alto”​​键盘没有下划线键。

如果用户要查看字符串,那么我不会执行上述任何操作并使用“关于我们”。或“AboutUs”,如果我不得不像camelCase已经扩展到某些领域的常见用途,如产品名称。即ThinkPad,TiVo

0
user18443

更好用。 - /作为分隔符,因为_似乎不是分隔符。

http://www.sistrix.com/blog/832-how-long-may-a-linktext-be.html

0
Eddy Freddy

URL中允许使用空格,因此您只需在链接中使用“/ about us”(虽然它将被编码为“/ about%20us”。但说实话,这将始终是个人偏好,所以没有真正的答案在这里给出.

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

0
pbean