Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
URL:破折号与下划线_Url_Seo_Naming Conventions - Fatal编程技术网

URL:破折号与下划线

URL:破折号与下划线,url,seo,naming-conventions,Url,Seo,Naming Conventions,是关于我们还是关于我们 从可用性的角度来看,我个人认为,/about-us对最终用户来说更好,但谷歌和大多数其他网站(以及javascript框架)使用下划线命名模式。这只是风格的问题吗?破折号是否存在兼容性问题?我认为从用户角度来看,破折号更好,并且不会干扰搜索引擎优化 不确定下划线约定从何处开始或为何开始 知识多一点这只是一个猜测,但似乎他们选择了一个人们最有可能不会使用的名字。通过这种方式,您可以拥有包含连字符的单词的名称,并且仍然使用下栏作为单词分隔符,例如,UseTwo-wayLink

是关于我们还是关于我们


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

我认为从用户角度来看,破折号更好,并且不会干扰搜索引擎优化

不确定下划线约定从何处开始或为何开始


知识多一点

这只是一个猜测,但似乎他们选择了一个人们最有可能不会使用的名字。通过这种方式,您可以拥有包含连字符的单词的名称,并且仍然使用下栏作为单词分隔符,例如,UseTwo-wayLinks可以转换为use-two-way-links


在您的示例中,/about us将是一个名为连字符单词“about us”的目录(如果存在这样的单词,/about_us将是一个名为两个单词短语“about us”的目录)转换为一个非白色字符字符串。

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

我更喜欢使用下划线。首先,它们符合我的常规编程经验,即
变量名不是减法的
,其次,我相信这是我早就提到过的y、 单词可以有连字符,但从来没有下划线。举一个非常愚蠢的例子,“民族国家”与“民族国家”不同。前者翻译成“民族国家之地”(想想“这是枪国家!最好往前走,听到了吗?”),而后者看起来像是一个同义词列表。
http://example.com/nation-state-country/
http://example.com/nation-state_country/
,但是,如果连字符是分隔符/“空格”除了文字中的字符外,它还可以。后者似乎更清楚实际用途,而前者看起来更像这个列表(如果有的话)。

一些较旧的web主机和DNS服务器实际上在解析URL下划线时遇到问题,因此这可能会在类似的约定中发挥作用。

Jeff对此有一些想法:


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

下划线替换不允许空白的空格。破折号(连字符)可以是单词的一部分,因此将单词与已经包含连字符的连字符连接起来是很难看/令人困惑的

坏的:

好:


对于最终用户的观点,我更喜欢“关于我们”或“关于我们”而不是“关于我们”

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

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

  • 懒惰的程序员不喜欢 伸手去拿钥匙
  • 潜在的困惑 可读性
  • 施乐PARC的“Alto”键盘 没有下划线键的

  • 如果用户希望看到字符串,那么我不会执行上述操作,而是使用“About us.”或“AboutUs”如果我不得不这样做的话,因为camelCase已经在一些领域广泛使用,例如产品名称。例如ThinkPad、TiVo,我过去一直使用下划线,现在我只在网站中不希望任何人直接链接的部分使用下划线、js文件、css等等

    从搜索引擎优化的角度来看,破折号似乎是处理它的首选方式,详细的解释是,从马的嘴

    与程序员相比,普通公众似乎更容易遇到的另一个问题是,当带有下划线的超链接加下划线时,你看不到下划线。高级用户会解决这个问题,但Joe public可能不会


    尽管如此,在代码中仍然优先使用下划线而不是破折号-程序员理解它们,大多数其他人不理解。URL中允许使用空格,因此您可以在链接中使用“/about-us”(尽管这将被编码为“/about%20us”).但老实说,这永远是个人偏好,所以这里没有真正的答案


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

    谷歌过去没有将下划线视为单词分隔符,我认为这很疯狂,但现在显然是这样。由于这一历史,破折号是首选的。尽管现在允许从SE使用下划线从我的观点来看,我仍然认为破折号是最好的


    一个好处是,一般不懂电脑的网络冲浪者更有可能在键盘上键入破折号,他们甚至可能不知道下划线是什么。

    早在2005年,SEO专家就从严格的SEO角度出发,得出了+(加上)的结论实际上是最好的单词分隔符。然而,这似乎不合理,可能是因为搜索引擎的算法存在缺陷。他建议-(破折号)对于可读性和搜索引擎优化而言。

    我更喜欢破折号,因为链接下划线可能会在一定程度上模糊下划线。文本URL主要用于一眼就能识别,而不是语法正确,因此保留破折号以便在连字符词中使用的论点是有限的

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


    我还发现破折号在美学上更令人愉悦,如果这有什么意义的话。

    不仅仅是破折号和下划线:

    • 带空格的文本
    • 没有空格的文本
    • 在%20URL中编码了%20spaces%20
    • 下划线表示空格
    • 破折号意味着空间
    • 加+意味着+空间
    • 骆驼壳
    • 帕斯卡酶
    • “带空格的引用文本”(单引号与双引号)
    • 斜杠/意思/空格
    • 点意味着空间

    考虑
    /low-budget-movies
    
    /low-budget_movies