Temel URL'de artı işareti (+) bulunan herhangi bir URL'de (sorgulayıcı değil), IIS7 ve IIS7.5 (Windows Server 2008 ve 2008 R2), URL'yi bir ASP.NET uygulamasındaki varsayılan işleyiciye iletmiyor gibi görünüyor . Özel bir HTTP işleyicisiyle sorunu fark etmeye başladım, *.html
ancak aynı sorunu yaşıyorum *.aspx
. IIS6'da (Server 2003) bu aynı URL'lerde sorun yoktur.
Sorunu çoğaltmak için, bir ASP.NET sitesinde, çeşitli adlarla basit bir Response.Write yapan bir ASPX dosyası grubu oluşturdum:
- test_something.aspx
- test_some + thing.aspx
- test_some thing.aspx
Üçüncü dosya, IIS7 [.5] 'in artı sembolleri boşluk olarak ele alıp almadığını görmek için yapılan bir testti (sorguda olduğu gibi); Durum böyle görünmüyor. Tüm bu dosyalar yerindeyken, herhangi bir ASP.NET işleyicisine ulaşmadan önce IIS6'da, IIS4 / 407'de ise 404'te isabet http://somehost/test_some+thing.aspx
ya da http://somehost/test_some%2bthing.aspx
iyi çalışacaktır. IIS7 / 7.5'te, bir HTTP işleyicisini belirlemek için kullanılan son uzantıyı kaybetmeden URL'de bir artı işareti "görmesini" sağlamak için kaçırdığım bazı yapılandırmalar var mı?
\+
?