Bei URLs mit einem Pluszeichen (+) in der Basis-URL (nicht im Querystring) wird die URL von IIS7 und IIS7.5 (Windows Server 2008 und 2008 R2) scheinbar nicht an den Standardhandler einer ASP.NET-Anwendung weitergeleitet . Ich bemerkte das Problem mit einem benutzerdefinierten HTTP-Handler, *.html
aber ich habe das gleiche Problem mit *.aspx
. IIS6 (Server 2003) hat kein Problem mit denselben URLs.
Um das Problem zu replizieren, habe ich auf einer ASP.NET-Site eine Reihe von ASPX-Dateien erstellt, die eine einfache Response.Write mit verschiedenen Namen ausführten:
- test_something.aspx
- test_some + thing.aspx
- test_some thing.aspx
Die dritte Datei war ein Test, um festzustellen, ob IIS7 [.5] Pluszeichen als Leerzeichen behandelt (wie im Querystring). dies scheint nicht der Fall zu sein. Mit all diesen Dateien an Ort und Stelle, Schlagen http://somehost/test_some+thing.aspx
oder http://somehost/test_some%2bthing.aspx
wird gut in IIS6 arbeiten , aber 404 in IIS7 / IIS7.5 vor einem ASP.NET - Handler zu bekommen. Gibt es eine Konfiguration in IIS7 / 7.5, die ich vermisse, um ein Pluszeichen in der URL zu "sehen", ohne die letzte Erweiterung zu verpassen, die zum Bestimmen eines HTTP-Handlers verwendet wird?
\+
?