Para qualquer URL com um sinal de adição (+) na URL base (não na string de consulta), o IIS7 e o IIS7.5 (Windows Server 2008 e 2008 R2) não parecem encaminhar a URL para o manipulador padrão em um aplicativo ASP.NET . Comecei a perceber o problema com um manipulador HTTP personalizado, *.html
mas tenho o mesmo problema *.aspx
. O IIS6 (Server 2003) não tem problemas com esses mesmos URLs.
Para replicar o problema, em um site ASP.NET, criei um conjunto de arquivos ASPX que executavam um Response.Write simples com vários nomes:
- test_something.aspx
- test_some + thing.aspx
- test_some thing.aspx
O terceiro arquivo foi um teste para verificar se o IIS7 [.5] estava tratando símbolos mais como espaços (como faria na string de consulta); isso não parece ser o caso. Com todos esses arquivos no lugar, pressione http://somehost/test_some+thing.aspx
ou http://somehost/test_some%2bthing.aspx
funcionará bem no IIS6, mas 404 no IIS7 / IIS7.5 antes de chegar a qualquer manipulador do ASP.NET. Há alguma configuração no IIS7 / 7.5 que falta para que ele "veja" um sinal de mais na URL sem perder a extensão final usada para determinar um manipulador HTTP?
\+
?