IIS7 HTTP 错误 404.4 - Not Found的解决方法

发布时间:2019-09-28编辑:脚本学堂
HTTP 错误 404.4 - Not Found 您要查找的资源没有与之关联的处理程序。详细错误信息 模块 IIS Web Core 通知 MapRequestHandler 处理程序 尚未确定 错误代码 0x80070002 请求的 URL http://localhost:80/ 物理路径 D:/Project/IISRoot/Website 登录方法 匿名

先来看下具体的错误信息。

错误摘要
HTTP 错误 404.4 - Not Found
您要查找的资源没有与之关联的处理程序。

详细错误信息
模块 IIS Web Core
通知 MapRequestHandler
处理程序 尚未确定
错误代码 0x80070002

请求的 URL http://localhost:80/
物理路径 D:/Project/IISRoot/Website
登录方法 匿名
登录用户 匿名

最可能的原因:
所请求 URL 的文件扩展名没有配置处理程序来处理 Web 服务器上的请求。

可尝试的操作:
如果文件扩展名没有与之关联的处理程序,请为该扩展名添加一个处理程序映射。
确认已正确安装和配置了与文件扩展名相关联的处理程序。
创建跟踪规则以跟踪此 HTTP 状态代码的失败请求。有关为失败的请求创建跟踪规则的详细信息,请单击此处。

链接和更多信息

访问这个网站目录下的测试程序default.aspx通过这个地址http://localhost/default.aspx可以正常访问,我现在想浏览虚拟目录
通过http://localhost访问出错 就会出现上面的错误,我已经把iis中的目录浏览功能打开这个错误依旧。

http错误原因及解决方案可以。。。。以前看到过在微软页面中有个所有iis7错误描述个解决办法,现在找不到了,等找到再帖上来。

首先说明基本情况,系统是vista ultimate 版,(iis7已正常安装,asp,asp.net,安装时该选的都选了,有些不知道功能的也选了。。)在iis系统目录c:/windows/system32/intersrv/下可以找到static.dll文件,在操作系统版本上,如果系统是vista home basic的话,配置iis7也会有此http错误404,这种情况就是不能解决的了,必须更换系统版本,因为vista home basic功能比较少受限制,无法使用iis7.ultimate就不是这种情况了

其次,上面说到微软有http错误的解决方案,我参照http错误404.4的解决方案如下

要解决此问题,添加为文件扩展名,所请求的 URL 处理程序映射。 请按照是例如下列步骤如果想要添加 StaticFile 处理程序映射操作:
  启动 IIS 管理器。 为此,单击 开始 ,单击 运行 ,键入 inetmgr.exe ,然后单击 确定 。
  在 IIS 管理器中,展开 server name 展开 Web 站点 ,单击要修改的网站。
  在 功能的视图 ,双击 处理程序映射 。
  在 处理程序映射 窗格中右键单击 StaticFile 的处理程序映射,然后单击 编辑 。
  在 编辑模块映射 对话框键入 * 在 请求路径 框,然后单击 确定 。

请注意 按照这些步骤后,您可以成功地访问静态文件。 是例如,您可以成功地访问具有以下文件扩展名的文件:
.htm
.html
.jpg
.gif
.png
 
对于通知MapRequestHandler  搜索了下能是处理映射或者过滤器的问题,按网上搜索的添加这种那种的过滤都不行。
实际上并不是我的情况,在我打开自己的处理程序影射中根本就没有staticfile这个模块。
好现在问题有个方向,我的iis7缺少staticfile那就从staticfile模块入手,网上搜索了下其中有个forums.foiis.net的网站中有个帖子提到手动添加staticfile模块.OK.那现在参照别人的配置手动添加此模块。1》在处理程序映射中参照别人的如下

请求路径:
*

模块:
StaticFileModule,DefaultDocumentModule,DirectoryListingModule

名称
StaticFile

请求限制:
文件或文件夹
按照这个添加之后,发现我的还是比较特殊根本就不识别staticfile模块,无奈此方案流产。

2》修改配置文件:c:/windows/system32/intersrv/config/applicationhost.config文件,正常情况下该配置文件包含2个staticfile节点
我的里面没有这2个,这里也参照别人的培植修改,找到<staticfile>模块就添上去然后保存。

现在再来浏览http://localhost 晕,又给我来个http错误500.21这下好了,和上面方法一样干脆提示错误:不可识别模块staticfile。现在再浏览http://localhost/default.aspx这个也不行,好了这个方案也流产了。

其他乱78糟的方法也试过不过都不行,最后无奈之下完全卸载vs2008,sql2008,iis7,然后先装iis7靠装完就可以使用了,他娘的问题在这,那个怒呀!靠微软也真是,你自家的产品还不兼容,不兼容也就罢了,还给个不相关的错误提示,不相关的也就罢了,还把解决问题方向拉到错误的方向,真恼火!

总之根本原因:iis7和.net安装顺序错误导致,先装vs再装iis就会有此问题。先装iis7再装vs就没问题。

另外sql2008和vs2008的安装顺序也有可能导致莫名其妙的错误。