17

我有一个应用程序,它采用 url 中的所有参数,如下所示:/category/subcategory/sub-subcategory. 我希望能够在 URL 的末尾给出额外的参数,比如page-2/order-desc. 这将使整个 URL 变为cat/subcat/sub-subcat{delimiting-character}page-2/order-desc.

我的问题是:我可以使用哪些字符作为{delimiting-character}. 我倾向于更喜欢“:”,因为我确信它永远不会出现在其他任何地方,但我不知道它是否符合标准,或者至少将来不会给我带来问题。

我记得 vimeo 使用了这样的东西:vimeo.com/video:{code}但他们似乎已经改变了这一点。

4

5 回答 5

20

您可以使用字母数字,加上特殊字符“$-_.+!*'()”,更多信息在这里:http ://www.ietf.org/rfc/rfc1738.txt

另外,请注意不要在 url 中超过 2000 个字符

于 2011-04-13T13:10:39.997 回答
6

最新的 URI 规范是 RFC 3986;有关 URI 的哪些部分中允许使用哪些字符的详细信息,请参阅ABNF

绝对路径部分的格式为:

  path-absolute = "/" [ segment-nz *( "/" segment ) ]
  segment       = *pchar
  segment-nz    = 1*pchar
  pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"
  pct-encoded   = "%" HEXDIG HEXDIG
  unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
  sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
                      / "*" / "+" / "," / ";" / "="
于 2011-04-13T13:36:38.970 回答
2

http://www.ietf.org/rfc/rfc1738.txt

基本上,您可以使用所有字母数字以及$ - _ . + ! * ' ( ) ,

于 2011-04-13T13:07:54.920 回答
0

您可以使用破折号或下划线(这些经常使用)。您可以使用任何您想要的字符,但例如,空格会在 url 中变成 %20,因此它们看起来不太好看。

于 2011-04-13T13:08:03.720 回答
0

如果您使用破折号或下划线,请记住,破折号被 Google 读取为连字符,因此不会改变您的 URL 的分类方式。下划线被视为一个字符,并且可能会弄乱您的 SEO。

例如:破折号使用 = 破折号使用(2 个字);underscore_use = underscore_use (1 字)

于 2021-07-09T14:02:42.840 回答