41

次のURLは有効ですか?

http://www.example.com/module.php/lib/lib.php

https://www.rfc-editor.org/rfc/rfc1738セクションによると、URLのhpath要素に「。」を含めることはできません。(限目)。上記の場合、「。」があります。RFC1738で許可されていない「モジュール」の後。

私はRFCを間違って読んでいますか、それともこのRFCは別のRFCによって成功していますか?他のいくつかのRFCでは「。」が許可されています。URL(https://www.rfc-editor.org/rfc/rfc1808)。

4

4 に答える 4

53

RFC1738 で URL のピリオド (.) が許可されていない場所がわかりません。そこからの抜粋を次に示します。

hpath          = hsegment *[ "/" hsegment ]
hsegment       = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
uchar          = unreserved | escape
unreserved     = alpha | digit | safe | extra
safe           = "$" | "-" | "_" | "." | "+"

したがって、あなたの質問に対する答えは次のとおりです。はい、http://www.example.com/module.php/lib/lib.php有効な URL です。

于 2011-09-26T13:13:28.433 に答える
10

ピリオドを使用できます。このドキュメントのセクション「2.3 予約されていない文字」を参照してください: https://www.rfc-editor.org/rfc/rfc3986

「URIで許可されているが、予約された目的を持たない文字は、予約されていないと呼ばれます。これらには、大文字と小文字、10進数、ハイフン、ピリオド、アンダースコア、チルダが含まれます」.

于 2011-12-27T21:57:25.113 に答える
2

URL のピリオドに問題はありません。あなたが提供したリンクの文法の構造を見ると、ピリオドは「safe」グループを介して言及されており、これは a を介しucharて含まれています

私の答えは無視してください。Adamsの方が優れています

于 2011-09-26T13:17:55.930 に答える