Для будь-якої URL-адреси зі знаком плюс (+) у базовій URL-адресі (не в рядку запитів) IIS7 та IIS7.5 (Windows Server 2008 та 2008 R2) не видають URL-адресу оброблювачу за замовчуванням у додатку ASP.NET . Я почав помічати проблему з увімкненим користувальницьким HTTP-обробником, *.htmlале у мене є та сама проблема *.aspx. IIS6 (Server 2003) не має проблем із цими ж URL-адресами.
Щоб повторити проблему, на сайті ASP.NET я створив набір файлів ASPX, які зробили просту Response.Write з різними іменами:
- test_something.aspx
- test_some + thing.aspx
- test_some thing.aspx
Третій файл був тестом, щоб перевірити, чи IIS7 [.5] розглядає плюс символи як пробіли (як це було б у рядку запитів); це, мабуть, не так. Якщо всі ці файли на місці, натискання http://somehost/test_some+thing.aspxабо http://somehost/test_some%2bthing.aspxбуде добре працювати в IIS6, але 404 в IIS7 / IIS7.5, перш ніж потрапити на будь-який обробник ASP.NET. Чи є в IIS7 / 7.5 якась конфігурація, яку мені не вистачає, щоб отримати «бачити» знак плюс у URL-адресі, не пропускаючи остаточне розширення, яке використовується для визначення обробника HTTP?
\+?