Для любого 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?
\+
?