tags:

views:

1693

answers:

2

So i have this URL: http://test.com/afolder/who-else-wants-to-make-horror-movies%3f/

which is URL encoded version of : http://test.com/afolder/who-else-wants-to-make-horror-movies?/

But IIS7 throws a 400:

HTTP Error 400.0 - Bad Request ASP.NET detected invalid characters in the URL.

But why is it doing that if i have correctly encoded the URL?

I'm also having the same issue with other URL encoded chars like '/' which is '%2f' but when .net resolves the handler it does so after decoding the URL which then changes the effective path, grrrr.

A: 

URL Encoding Reference

http://www.w3schools.com/TAGS/ref_urlencode.asp

Adam
Last time I checked, hyphens were valid in urls. Example: The page you're looking at now.
R. Bemrose
gives me the same error with your url
rizzle
+3  A: 

Looks like there are some issues with IIS7 on x64....not sure if this is your issue or not:

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

Bert Lamb
I am infact running iis7 on x64, but i'm running .net 3.5 sp1 which is newer than those hotfixes
rizzle
And you have tried setting the VerificationCompatibility registry value to 1 as mentioned there? As a sidenote, stackoverflow.com has a similar response when you include %3f in a url.
Paul-Jan
yes, it looks like stackoverflow doesn't like a %3f in a url, but isn't phased by a ? within the url
Bert Lamb
thanks, that fixed it for me. +1
Greg