为什么此URL会在我的服务器上导致错误的请求?

时间:2013-03-26 14:07:42

标签: url character-encoding urlencode bad-request

我有一个以%结尾的网址。喜欢:/view/this-is-100%25。是否不允许在网址末尾加%?如果不允许,我怎么能用另一种方式来做,如果允许的话,为什么会导致错误的请求?

感谢。

更新:确切错误:

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

2 个答案:

答案 0 :(得分:1)

我刚刚用%取代percent解决了这个问题,因为这只是我的一个网址中的情况。有关更好的解决方案,请参阅此链接Sam Rad在我的帖子中提供了我的第一条评论: Apache: %25 in url (400 Bad Request)

答案 1 :(得分:0)

“%”在URL中用作ASCII(?)UTF-8(?)代码的前缀。例如,“空格”(ASCII 32或十六进制0x20)可以替换为“%20”。 “%”前缀后跟两个十六进制数字。 Web服务器应该使用“%20”并将其转换为空格。

如果在URL的末尾有“%”,则“%”后面没有两个十六进制数字,因此无法进行替换,并且URL实际上是格式错误的。这实际上是一个糟糕的网址。

这就是服务器不喜欢它的原因。