访问网站时 HTTP 错误 404.17 |
您所在的位置:网站首页 › iis运行php500错误 › 访问网站时 HTTP 错误 404.17 |
访问在 IIS 7.0 或更高版本上托管的网站时出现错误消息:HTTP 错误 404.17 - 找不到
项目
07/17/2023
本文帮助你解决 HTTP 错误 404.17 - 访问在 Internet Information Services (IIS) 7.0 或更高版本上托管的网站时找不到问题。 原始产品版本: Internet 信息服务 原始 KB 编号: 2019689 症状你有一个在 IIS 7.0 或更高版本上托管的网站。 使用 Web 浏览器浏览到网站中的动态内容时,可能会收到如下所示的错误消息: 错误摘要 HTTP 错误 404.17 - 找不到 请求的内容似乎是脚本,不会由静态文件处理程序提供。 详细错误信息: Module StaticFileModule 通知 ExecuteRequestHandler 处理程序 StaticFile 错误代码0x80070032 请求的 URL http://iisserver:80/page.aspx 物理路径 C:\inetpub\wwwroot\page.aspx 登录方法匿名 登录用户匿名 原因发生此错误是因为配置为处理请求的 HTTP 处理程序具有某些先决条件集,但其应用程序池不符合上述某些或全部先决条件。 这会导致静态文件处理程序改为用于处理请求。 然后,处理请求失败,并返回 404.17 状态,因为请求是动态资源,而不是静态资源。 例如,请考虑以下处理程序映射: 在这种情况下,如果从站点请求的 *.aspx 资源在未在模式下运行、不是 32 位或未运行 2.0 版本的.NET Framework的应用程序池中Classic处理,则返回 404.17 错误。 若要在此示例中正确提供资源,必须满足所有三个预先条件。 具体而言,托管此资源的应用程序池必须配置为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 资源配置了许多处理程序。 在某些情况下,可能需要更改处理程序以匹配应用程序正在运行的应用程序池。 下面是具有各种条件设置的不同 ASP.NET 2.0 处理程序的列表。 ASP.NET 2.0 集成模式 32/64 位处理程序 ASP.NET 2.0 经典模式 32 位处理程序 ASP.NET 2.0 经典模式 64 位处理程序 重现步骤创建包含两个文件的目录。 包含内容的 Test.aspx Web.config 内容: 创建一个 IIS 7.0 或更高版本的应用程序,该应用程序指向包含这两个文件的目录。 将新应用程序配置为在配置为集成模式的应用程序池中运行。 浏览到 test.aspx。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |