文章分类

当前位置:首页>文章中心>IIS错误:由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

IIS错误:由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

发布时间:2024-04-22 点击数:712

IIS错误:由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

项目场景:
通过IIS发布站点,在IIS里打开C#的asmx接口文件直接访问该接口。

问题描述:
HTTP 错误 404.3 - Not Found
由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

最可能的原因:

可能是缺少处理程序映射。默认情况下,静态文件处理程序将处理所有内容。
您要使用的功能可能尚未安装。
没有为网站或应用程序启用相应的 MIME 映射。(警告: 请不要为用户不应下载的 .ASPX 页或 .config 文件等内容创建 MIME 映射。)
如果未安装 ASP.NET。
可尝试的操作:

在 system.webServer/handlers 中:
确保映射了当前页所需的处理程序。
请特别注意前提(例如,runtimeVersion、pipelineMode、bitness)并将这些前提与应用程序池的设置进行比较。
请特别注意所需处理程序行中的书写错误。
请确认要使用的功能已经安装。
确认启用了 MIME 映射,或使用命令行工具 appcmd.exe 为网站添加 MIME 映射。
要设置 MIME 类型,请使用以下语法: %SystemRoot%\windows\system32\inetsrv\appcmd set config /section:staticContent /+[fileExtension='string',mimeType='string']
变量 fileExtension 字符串是文件扩展名,变量 mimeType 字符串是文件类型说明。
例如,要为扩展名为“.xyz”的文件添加 MIME 映射: appcmd set config /section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']
警告: 请在确认您的 Web 服务器需要此 MIME 映射之后再将其添加到列表中。配置文件(如 .CONFIG)或动态脚本页(如 .ASP 或 .ASPX)不应直接下载,应始终通过处理程序来处理。有时会使用其他文件(如数据库文件或 .XML 或 .MDF 等用于存储配置的文件)来存储配置信息。请先确认客户端能否下载这些类型的文件,然后再启用这些文件。
安装 ASP.NET。
创建跟踪规则以跟踪此 HTTP 状态代码的失败的请求。有关为失败的请求创建跟踪规则的详细信息,请单击此处。
详细错误信息:

模块       StaticFileModule
通知       ExecuteRequestHandler
处理程序       StaticFile
错误代码       0x80070032
请求的 URL       http://localhost:80/mysite/WebService1.asmx
物理路径       F:\桌面\作业。。。。课程文件\接口开发:加载功能\bootstrapWebServerAPI\WebApplication1\WebService1.asmx
登录方法       匿名
登录用户       匿名
详细信息:

当所请求 URL 的文件扩展名是针对未在服务器上配置的 MIME 类型时,便会发生此错误。您可以为动态脚本页、数据库或配置文件以外的文件的文件扩展名添加 MIME 类型。这些文件类型使用一个处理程序来处理。您不应允许直接下载动态脚本页、数据库或配置文件。

查看详细信息 »
https://go.microsoft.com/fwlink/?LinkID=62293&IIS70Error=404,3,0x80070032,22000

 

原因分析:
       其中在页面打印的详细错误信息中,看到了当前Asp的页面的处理程序是StaticFile 程序,这里很明显是不正常的。

我们都知道Asp页面是动态脚本页,它和Aspx文件一样是由专门的程序来处理的,而StaticFile程序是用来处理静态网页的程序,肯定解析不了Asp文件……

  那么一定是我们没有指定Asp文件的处理程序才会出现这种情况。

  在网站功能视图下双击处理程序映射,我们可以看到处理各种特定请求类型的响应资源,其中有Aspx的,还有默认的*文件的处理程序是StaticFile ,唯独没有找到处理Asp文件的程序。如图:

 

解决方案:
        控制面板中打开程序,选择“程序和功能”中的“打开或关闭Windows功能”或使用CMD命令:OptionalFeatures,找到Internet信息服务—万维网服务—应用程序开发功能,勾选Asp文件夹和ISAPI扩展文件夹(最好也将最上面的.NET Framework里的功能也勾选上,这两个功能如果没安装,将会下载一会儿,不用急)。具体如图:

 

        勾选过后再到程序映射中查看就能看到asp文件的处理程序了。再次打开相应的文件就能成功。


        注:如果是使用C#编写的接口,注意将 该语句取消注释。否则不能直接通过地址打开相应的文件。


微信二维码

13280000340