/category/subcategory/sub-subcategory
のようなURLのすべてのパラメーターを受け取るアプリケーションがあります。 page-2/order-desc
のように、URLの最後に追加のパラメーターを指定できるようにしたい。これにより、URL全体がcat/subcat/sub-subcat{delimiting-character}page-2/order-desc
になります。
私の質問は、どの文字を{delimiting-character}
として使用できるかということです。私は「:」を好む傾向があります。これは、他の場所には表示されないことは確かですが、標準に準拠するかどうか、または少なくとも将来問題が発生しないかどうかはわかりません。
私が覚えているように、vimeoは次のようなものを使用しました:vimeo.com/video:{code}
しかし、彼らはこれを変更したようです。
英数字に加えて、特殊文字「$ -_。+!* '()」を使用できます。詳細はこちら: http://www.ietf.org/rfc/rfc1738.txt
また、URLが2000文字を超えないように注意してください
最新のURI仕様はRFC3986です。 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 = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="
http://www.ietf.org/rfc/rfc1738.txt を参照してください。
基本的に、すべてのアファヌメリックと$ - _ . + ! * ' ( ) ,
が許可されます
ダッシュまたはアンダースコアを使用できます(これらは頻繁に使用されます)。任意の文字を使用できますが、たとえば、スペースはURLで%20に変わるため、見た目も悪くなります-いいですね。