2013-03-26 69 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

相關問題