【问题标题】:HTTP Error 404.17 - Not Found The requested content appears to be script and will not be served by the static file handlerHTTP 错误 404.17 - 未找到 请求的内容似乎是脚本,不会由静态文件处理程序提供
【发布时间】:2014-04-04 02:21:01
【问题描述】:

我从 bigrock 购买托管服务 当我运行简单的 aspx 页面时发生此错误

HTTP 错误 404.17 - 未找到 请求的内容似乎是脚本,不会由静态文件处理程序提供。 详细的错误信息 模块静态文件模块 通知 ExecuteRequestHandler 处理程序静态文件 错误代码 0x80070032 请求的 URL http://demo.com:80/demo/default.aspx 物理路径 C:\Inetpub\vhosts\demo.com\httpdocs\demo\default.aspx 登录方法匿名 登录用户匿名 最可能的原因:

The request matched a wildcard mime map. The request is mapped to the static file handler. If there were different pre-conditions, the request will map to a different handler.

你可以尝试的事情:

If you want to serve this content as a static file, add an explicit MIME map.

【问题讨论】:

    标签: c# asp.net iis-7


    【解决方案1】:

    这个问题更好的解决方案一般如下:

    WCF 映射未向 IIS 注册。 导航到

    "C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation" and execute 
    
    "servicemodelreg -i" to install them manually.
    

    【讨论】:

      【解决方案2】:

      我们的解决方法是在 IIS 配置编辑器中手动编辑 system.webServer/handlers 并将 .NET 2 ISAPI 模块 替换为 .NET 4 ISAPI 模块。。 p>

      applicationHost.config 之前 (system.webServer/handlers)

      <add name="AboMapperCustom-396397" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
      

      applicationHost.config 之后 (system.webServer/handlers)

      <add name="AboMapperCustom-356384" path="*" verb="*" modules="IsapiModule" scriptProcessor="c:\windows\microsoft.net\framework64\v4.0.30319\aspnet_isapi.dll" requireAccess="None" responseBufferLimit="0" />
      

      基本上它是通过错误的 ISAPI 模块运行应用程序 - 即使我们在应用程序池中正确指定了它。

      我们还必须启用 .NET 4 ISAPI 模块 - 它已被前任管理员关闭。

      替代解决方案 - 应用程序池配置错误

      当 .NET 2.0 应用程序(经典模式)提供 .NET 4(集成模式)内容时,我们也会看到同样的错误。将 应用程序池v2.0 切换到 v4.0 解决了这个问题。同样的问题也可能来自被错误分类为 v2.0 的应用程序池 v1.1

      【讨论】:

      • 替代解决方案对我有用。没有检查应用程序池默认的版本。
      【解决方案3】:

      这是因为 .Net 在 IIS 中未正确配置。

      我在 IIS 下的 Windows Server 8 中遇到了这个问题 - 即使在安装 .Net 3.5(因此是 2.0)之后,IIS 也没有正确配置 - 所以静态文件处理程序试图处理 .aspx 请求 - 导致这个错误。

      修复很简单:

      启动命令提示符 - 开始 - cmd.exe cd C:\Windows\Microsoft.NET\Framework64[点网版] aspnet_regiis -ir 您应该会看到如下输出:

      开始安装 ASP.NET [Dot Net 版本]。 ...... 安装完毕 ASP.NET [点网版]。

      此时,如果您刷新页面,它应该可以正常工作。

      【讨论】:

      • 服务器中存在这个问题我该如何解决这个问题....需要联系服务提供商或者我可以用其他方式解决
      • 我认为您应该与您的服务提供商交谈,或者您可以检查您的配置 (IIS) 详细信息和错误日志
      • 我也问过他们,他们告诉我它的完美文件在本地完美运行,但是当我投入使用时它不工作
      • 现在我需要检查你的代码以及 IIS 配置
      • 我们不得不将一些网站从 Windows Server 2012 迁移到 2016,我遇到了这个问题。不过,这解决了它。所有其他网站都运行良好(4.0 和更高版本)。对我来说,这是 v2.0.50727(所以 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis -ir) - 只是为了澄清:我已经更新了应用程序池,如下面 SilverNinja 的答案(相反 -我们有一个 .net 2 应用程序)。
      猜你喜欢
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多