我有一个应用程序,它接受网址中的所有参数,如下所示:/category/subcategory/sub-subcategory
。我希望能够在URL末尾提供额外的参数,例如page-2/order-desc
。这会将整个网址变为cat/subcat/sub-subcat{delimiting-character}page-2/order-desc
。
我的问题是:我可以将哪些字符用作{delimiting-character}
。我倾向于选择“:”,因为我知道它肯定不会出现在任何其他地方,但我不知道它是否符合标准,或者至少它是否会在将来给我带来问题。
我记得vimeo使用了这样的东西:vimeo.com/video:{code}
但它们似乎改变了这一点。
答案 0 :(得分:12)
您可以使用字母数字,加上特殊字符“$ -_。+!*'(),” 更多信息:http://www.ietf.org/rfc/rfc1738.txt
另外,请注意在url中不要超过2000个字符
答案 1 :(得分:5)
最新的URI规范是RFC 3986;有关URI的哪些部分允许使用哪些字符的详细信息,请参阅the 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 = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="
答案 2 :(得分:1)
请参阅http://www.ietf.org/rfc/rfc1738.txt
基本上,您可以使用所有aphanumerics以及$ - _ . + ! * ' ( ) ,
答案 3 :(得分:0)
您可以使用短划线或下划线(经常使用它们)。你可以使用你想要的任何角色,但是例如,空格会在网址中变成%20,所以它们看起来不太好。
答案 4 :(得分:0)
如果您使用破折号或下划线,请记住,破折号被 Google 视为连字符,因此不会改变您的网址的分类方式。下划线被视为一个字符,可能会扰乱您的 SEO。
例如:dash-use = dash use(2 个字); underscore_use = underscore_use(1 个字)