2

で終わるURLがあります%。のように:/view/this-is-100%25%URLの末尾に含めることは許可されていませんか?許可されていない場合、別の方法でそれを行うにはどうすればよいですか。許可されている場合、なぜそれが悪い要求を引き起こすのですか?

ありがとう。

更新:正確なエラー:

Bad Request
Your browser sent a request that this server could not understand.
4

2 に答える 2

1

「%」は、ASCII(?)UTF-8(?)コードのプレフィックスとしてURLで使用されます。たとえば、「スペース」(ASCII 32または16進数の0x20)は「%20」に置き換えることができます。「%」プレフィックスの後には2桁の16進数が続きます。Webサーバーは「%20」を取得してスペースに変換する必要があります。

URLの末尾に「%」がある場合、「%」の後に2桁の16進数がないため、置換を行うことができず、URLは実際には不正な形式になっています。それは実際には悪いURLです。

これがサーバーがそれを好まない理由です。

于 2013-03-26T14:19:04.140 に答える
1

これは私のURLの1つにのみ当てはまるため、この問題%をに置き換えることで解決しました。percentより良い解決策については、このリンクを参照してください。Sam Radが私の投稿に最初のコメントを提供しました: Apache:%25 in url(400 Bad Request)

于 2013-03-26T14:50:24.110 に答える