在url中使用连字符还是下划线是更好的惯例?
应该是/about_us还是/about-us?
从可用性的角度来看,我个人认为/about-us对最终用户来说要好得多,而谷歌和大多数其他网站(以及javascript框架)使用下划线命名模式。只是风格的问题吗?破折号有兼容性问题吗?
在url中使用连字符还是下划线是更好的惯例?
应该是/about_us还是/about-us?
从可用性的角度来看,我个人认为/about-us对最终用户来说要好得多,而谷歌和大多数其他网站(以及javascript框架)使用下划线命名模式。只是风格的问题吗?破折号有兼容性问题吗?
当前回答
这只是一个猜测,但似乎他们选择了一个人们最不可能在名字中使用的名字。通过这种方式,您可以拥有一个包含连字符的单词的名称,并且仍然使用下划线作为单词分隔符,例如UseTwo-wayLinks可以转换为use_two-way_links。
在您的示例中,/about-us将是一个名为“about-us”的连字符目录(如果存在这样的单词,/about_us将是一个名为“about us”的两个单词短语的目录,转换为一个非白人字符字符串。
其他回答
搜索引擎优化专家Jim Westergren在2005年从严格的搜索引擎优化角度对此进行了测试,得出的结论是+(+)实际上是最好的单词分隔符。然而,这似乎并不合理,可能是由于搜索引擎算法的错误。对于可读性和SEO,他推荐使用-(破折号)。
来自谷歌网站管理员中心
考虑在简历中使用标点符号 url。URL http://www.example.com/green-dress.html 对我们更有用吗 http://www.example.com/greendress.html。 我们建议使用连字符(-) 而不是在你的 url。
我更喜欢破折号,因为下划线可能在一定程度上被链接下划线所掩盖。文本url主要是为了一眼就能识别出来,而不是为了语法正确,所以保留破折号用于连字符的论点是有限的。
文本URL的准确性很重要的是在将其读给某人时,在这种情况下,您不希望将下划线与空格混淆(反之亦然)。
我还发现破折号更美观,如果这有意义的话。
Jeff对此有一些想法:https://blog.codinghorror.com/of-spaces-underscores-and-dashes/
两者都有缺点。我建议你选择一个并保持一致。
I'm more comfortable with underscores. First of all, they match in with my regular programming experience of variable_names_are_not-subtraction, second of all, and I believe this was mentioned already, words can have hyphens, but they do not ever have underscores. To pick a really stupid example, "Nation-state country" is different from "nation state country". The former translates something like "the land of nation-states" (think "this here is gun country! Best move along, y'hear?"), whereas the latter looks like a list of sometime-synonyms. http://example.com/nation-state-country/ doesn't appear to mean the same as http://example.com/nation-state_country/, and yet, if hyphens are delimiters/"space"s in addition to characters in words, it can. The latter seems more clear as to the actual purpose, whereas the former looks more like that list, if anything.