У нас возникла проблема на некоторых наших рабочих станциях для разработчиков: при посещении URL-адреса без имени файла (например, http://localhost/), IIS 7 возвращает ошибку 404 . Все работают под управлением Windows 7 / IIS7.5 и ASP.NET 4.0. Пул приложений настроен на использование классического конвейерного режима.
Документы по умолчанию включены, а default.aspx находится в списке документов по умолчанию.
Я включил неудачный запрострассировки, и посмотрите это в журнале:
OldHandlerName="", NewHandlerName="ExtensionlessUrl-ISAPI-4.0_64bit",
NewHandlerModules="IsapiModule",
NewHandlerScriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll", NewHandlerType=""
Позже я вижу, что этот IsapiModule отклоняет запрос:
ModuleName="IsapiModule", Notification="EXECUTE_REQUEST_HANDLER", HttpStatus="404",
HttpReason="Not Found", HttpSubStatus="0",
ErrorCode="The operation completed successfully. (0x0)", ConfigExceptionInfo=""
Похоже, IIS считает ExtensionlessUrl-ISAPI-4.0-64bit должен обрабатывать запрос . Когда я смотрю на конфигурацию этого модуля, он показывает, что он должен соответствовать пути *.
, поэтому я запутался, почему он не соответствует ни одному пути.
Поисковая система Google обнаруживает эту запись на форумах IIS.net с 2005 года. К сожалению, никаких решений не предлагается, только признание проблемы.
Когда яОбновитьмой пул приложений для использования интегрированного режима, проблема исчезает. К сожалению, он должен работать в классическом режиме.
Что я могу сделать, чтобы IIS снова отправил на сервер наши документы по умолчанию?