2009-05-01 25 views
5

Vì vậy, tôi có URL này: http://test.com/afolder/who-else-wants-to-make-horror-movies%3f/HTTP 400: phát hiện các ký tự không hợp lệ trong URL. IIS giải mã URL quá sớm? Những gì đang xảy ra ở đây?

được URL mã hóa phiên bản của: http://test.com/afolder/who-else-wants-to-make-horror-movies?/

Nhưng IIS7 ném một 400:

Lỗi HTTP 400.0 - Bad Request ASP.NET phát hiện các ký tự không hợp lệ trong URL .

Nhưng tại sao điều đó lại xảy ra nếu tôi đã mã hóa chính xác URL?

Tôi cũng gặp sự cố tương tự với các ký tự mã hóa URL khác như '/' là '% 2f' nhưng khi .net xử lý trình xử lý sau khi giải mã URL, sau đó thay đổi đường dẫn hiệu quả, grrrr.

+0

Có thể không sử dụng những ký tự trong URL? –

+0

heh, phủ nhận là tốt hơn chữa bệnh? Tôi đoán tôi có thể loại bỏ chúng, nhưng tôi đã hy vọng tìm ra nó. – rizzle

Trả lời

5

Hình như có một số vấn đề với IIS7 trên x64 .... không chắc chắn nếu điều này là vấn đề hay không bạn:

http://blogs.iis.net/rakkimk/archive/2008/10/10/asp-net-2-0-x64-you-may-get-http-400-bad-request-or-error-as-mentioned-in-kb-932552-or-826437.aspx

+0

Tôi đang infact chạy iis7 trên x64, nhưng tôi đang chạy .net 3.5 sp1 mới hơn hotfixes – rizzle

+0

Và bạn đã thử đặt giá trị đăng ký VerificationCompatibility thành 1 như đã đề cập ở đó? Là một sidenote, stackoverflow.com có ​​một phản hồi tương tự khi bạn bao gồm% 3f trong một url. –

+0

có, có vẻ như stackoverflow không giống như% 3f trong url nhưng không được phân đoạn theo? trong url –

Các vấn đề liên quan