2013-03-26 34 views
1

我有一个以%结尾的URL。像:/view/this-is-100%25。不允许在URL的末尾有%?如果不允许,我怎么能用另一种方式来做,如果允许的话,为什么它会导致一个错误的请求?为什么此URL在我的服务器上导致错误的请求?

谢谢。

更新:确切的错误:

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

这可能有所帮助:[Apache:%25 in url(400 Bad Request)](http://stackoverflow.com/questions/3549747/apache-25-in-url-400-bad-request) – 2013-03-26 14:11:31

+0

什么服务器为你的页面提供服务? – 2013-03-26 14:14:37

+0

@SamRad因为这只是在1个URL中的情况,所以我使用str_replace将其与“percent”放在一起并在服务器上将其更改回“%”来解决此问题。丑陋的解决方案,但在我的情况下足够! – Loolooii 2013-03-26 14:37:56

回答

1

我刚刚通过将%替换为percent来解决此问题,因为在我的某个网址中只有这种情况。为更好的解决方案,请参阅此链接Sam Rad提供了我对我的帖子的第一条评论: Apache: %25 in url (400 Bad Request)

0

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

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

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

+1

他有'%25',而不是'%'..你假设他字面上有'%',但他意味着他已经正确编码'%'为'%25',它仍然不起作用... – Esailija 2013-03-26 18:46:32

相关问题