iis php 0x80070032,访问网站时 HTTP 错误 404.17 - Internet Information Services | Microsoft Docs...
訪問在 IIS 7.0 或更高版本上承載的網站時出現錯誤消息:HTTP 錯誤 404.17 - 未找到
12/11/2020
本文內容
本文可幫助您解決 HTTP 錯誤 404.17 - 當您訪問在 Internet Information Services (IIS) 7.0 或更高版本上承載的網站時找不到問題。
原始產品版本: ? Internet Information Services
原始 KB 編號: ? 2019689
癥狀
您具有在 IIS 7.0 或更高版本上承載的網站。 當您使用 Web 瀏覽器瀏覽到網站中的動態內容時,您可能會收到類似于以下內容的錯誤消息:
錯誤摘要
HTTP 錯誤 404.17 - 未找到
請求的內容顯示為腳本,不會由靜態文件處理程序提供。
詳細的錯誤信息:
Module StaticFileModule
Notification ExecuteRequestHandler
Handler StaticFile
錯誤代碼 0x80070032
請求的 URL http://iisserver:80/page.aspx
物理路徑 C:\inetpub\wwwroot\page.aspx
登錄方法匿名
登錄用戶匿名
原因
發生此錯誤的原因是,配置為處理請求的 HTTP 處理程序設置了某些先決條件,但其應用程序池不符合某些或所有這些先決條件。 這將導致靜態文件處理程序用于處理請求。 然后,處理請求失敗,并返回 404.17 狀態,因為請求針對的是動態資源,而不是靜態資源。
例如,請考慮以下處理程序映射:
在這種情況下,如果在未在模式運行的應用程序池中處理正在請求的 *.aspx 資源、未在 32 位或未運行 2.0 版本的 .NET Framework,則返回 404.17 錯誤。 Classic 為了使本例中能夠正確提供資源,必須滿足所有三個條件。 具體而言,承載此資源的 應用程序池 必須配置為 Mode,需要配置為使用 Classic 2.0 版的 .NET Framework,并且需要為 32 位應用程序設置它。
解決方案
若要解決此問題,請配置承載應用程序的應用程序池,以滿足為處理程序設置的所有預條件。
打開 IIS 管理器
展開計算機名稱 ,然后單擊左 窗格中的應用程序池。
在中間窗格中突出顯示承載資源的應用程序池。
在最右邊的窗格中,單擊 "高級設置..."。
在 "常規 ( 類別下的"高級) ,配置以下設置以匹配處理程序要求:
.NET Framework 版本
啟用 32 位應用程序
托管管道模式
更多信息
本節中的信息用于幫助確定為錯誤中提到的網站和應用程序配置哪些處理程序,并幫助標識為該處理程序配置的預條件。
Appcmd.exe命令
以下命令可用于標識為錯誤輸出中列出的網站配置的處理程序。
列出應用程序池
以下命令顯示如何確定應用程序應用程序池,然后列出為該應用程序配置的先決條件應用程序池。
C:\Windows\System32\inetsrv>appcmd.exe list apps /site.name:"Default Web Site"
APP "Default Web Site/" (applicationPool:DefaultAppPool)
C:\Windows\System32\inetsrv>appcmd.exe list apppools
APPPOOL "DefaultAppPool" (MgdVersion:v2.0,MgdMode:Integrated,state:Started)
列出處理程序
此命令將輸出為默認網站中的特定應用程序配置的處理程序。
C:\Windows\System32\inetsrv>appcmd.exe list config "Default Web Site/application" -section:handlers
對于配置ASP.NET,可能為 *.aspx 資源配置了許多處理程序。 在某些情況下,可能只需更改處理程序,應用程序池應用程序運行中的處理程序。 下面是不同的 2.0 ASP.NET及其各種預條件設置的列表。
ASP.NET 2.0 集成模式 32/64 位處理程序
type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode" />
ASP.NET 2.0 經典模式 32 位處理程序
scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32"
responseBufferLimit="0" />
ASP.NET 2.0 經典模式 64 位處理程序
modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
重現步驟
創建包含兩個文件的目錄。
包含內容的 Test.aspx
Web.config 內容:
創建指向包含這兩個文件的目錄的 IIS 7.0 或更高版本的應用程序。
將新應用程序配置為在配置為應用程序池模式配置的應用程序中運行。
瀏覽 到 test.aspx。
總結
以上是生活随笔為你收集整理的iis php 0x80070032,访问网站时 HTTP 错误 404.17 - Internet Information Services | Microsoft Docs...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fp-tree算法matlab实现,现代
- 下一篇: php如何写回调函数,php – 如何使