Pour toute URL avec un signe plus (+) dans l'URL de base (pas la chaîne de requête), IIS7 et IIS7.5 (Windows Server 2008 et 2008 R2) ne semblent pas transmettre l'URL au gestionnaire par défaut d'une application ASP.NET. . J'ai commencé à remarquer le problème avec un gestionnaire HTTP personnalisé, *.html
mais j'ai le même problème avec *.aspx
. IIS6 (Server 2003) n'a aucun problème avec ces mêmes URL.
Pour répliquer le problème, dans un site ASP.NET, j'ai créé un ensemble de fichiers ASPX faisant un simple Response.Write avec différents noms:
- test_something.aspx
- test_some + thing.aspx
- test_quelque chose.aspx
Le troisième fichier testait si IIS7 [.5] traitait les symboles plus comme des espaces (comme dans la chaîne de requête); cela ne semble pas être le cas. Avec tous ces fichiers en place, frapper http://somehost/test_some+thing.aspx
ou http://somehost/test_some%2bthing.aspx
fonctionner correctement dans IIS6 mais 404 dans IIS7 / IIS7.5 avant d’arriver à un gestionnaire ASP.NET. Y-a-t-il une configuration dans IIS7 / 7.5 qui me manque pour la "voir" un signe plus dans l'URL sans manquer l'extension finale utilisée pour déterminer un gestionnaire HTTP?
\+
- être ?