Untuk setiap URL dengan tanda tambah (+) di URL dasar (bukan querystring), IIS7 dan IIS7.5 (Windows Server 2008 dan 2008 R2) tampaknya tidak meneruskan URL ke penangan default pada aplikasi ASP.NET aplikasi . Saya mulai memperhatikan masalah dengan handler HTTP khusus aktif *.html
tetapi saya memiliki masalah yang sama dengannya *.aspx
. IIS6 (Server 2003) tidak memiliki masalah dengan URL yang sama ini.
Untuk mereplikasi masalah ini, di situs ASP.NET, saya membuat satu set file ASPX yang melakukan Response.Write sederhana dengan berbagai nama:
- test_something.aspx
- test_some + thing.aspx
- test_some thing.aspx
File ketiga adalah tes untuk melihat apakah IIS7 [.5] memperlakukan simbol plus sebagai spasi (seperti dalam querystring); sepertinya ini bukan masalahnya. Dengan semua file ini di tempat, memukul http://somehost/test_some+thing.aspx
atau http://somehost/test_some%2bthing.aspx
akan berfungsi dengan baik di IIS6 tetapi 404 di IIS7 / IIS7.5 sebelum sampai ke penangan ASP.NET. Apakah ada konfigurasi di IIS7 / 7.5 yang saya lewatkan untuk membuatnya "melihat" tanda tambah di URL tanpa melewatkan ekstensi akhir yang digunakan untuk menentukan HTTP handler?
\+
?