在url中使用连字符还是下划线是更好的惯例?

应该是/about_us还是/about-us?

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


当前回答

我更喜欢破折号,因为下划线可能在一定程度上被链接下划线所掩盖。文本url主要是为了一眼就能识别出来,而不是为了语法正确,所以保留破折号用于连字符的论点是有限的。

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

我还发现破折号更美观,如果这有意义的话。

其他回答

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.

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

不确定在哪里或为什么开始使用下划线。

更有知识的辩论

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

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

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

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

搜索引擎优化专家Jim Westergren在2005年从严格的搜索引擎优化角度对此进行了测试,得出的结论是+(+)实际上是最好的单词分隔符。然而,这似乎并不合理,可能是由于搜索引擎算法的错误。对于可读性和SEO,他推荐使用-(破折号)。