我們的某些開發人員工作站遇到問題:訪問沒有文件名的URL時(例如http://localhost/),IIS 7返回404錯誤。每個人都在運行Windows 7/IIS 7.5和ASP.NET 4.0。應用程序池配置爲使用Classic管道模式。IIS 7無法使用默認文檔
默認文檔已啓用,並且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被拒絕的請求:像IIS認爲
ModuleName="IsapiModule", Notification="EXECUTE_REQUEST_HANDLER", HttpStatus="404",
HttpReason="Not Found", HttpSubStatus="0",
ErrorCode="The operation completed successfully. (0x0)", ConfigExceptionInfo=""
它看起來ExtensionlessUrl-ISAPI-4.0-64bit應該處理請求。當我查看該模塊的配置時,它顯示它應該匹配路徑*.
,所以我很困惑它爲什麼匹配沒有路徑。
谷歌搜索從2005年起變成this post on the IIS.net forums。不幸的是,沒有提供任何解決方案,只是承認問題。
當我更新我的應用程序池以使用集成模式時,問題消失。不幸的是,它必須以經典模式運行。
我能做些什麼來讓IIS再次服務我們的默認文檔?
查找出來,如果你已經安裝的Windows7 SP1或修補程序KB KB980368。我有一些與此修補程序(這是捲入SP1)shenanigans:http://stackoverflow.com/questions/5080837/asp-net-2-0-and-4-0-seem-to-treat-the-根url-different-in-forms-authenticatio – Kev
@Kev謝謝。您鏈接的知識庫文章似乎解釋了我遇到的問題。 –
奇,我有同樣的問題,但我的經典模式,但不是在集成模式(我必須使用)。 –