HTTP 错误 404.0 - Not Found
您要找的资源已被删除、已更名或暂时不可用。
详细错误信息
模块 IIS Web Core
通知 MapRequest Handler
处理程序 Static File
错误代码 0x80070002
请求的 URL ***
物理路径 ***
登录方法 匿名
登录用户 匿名
最可能的原因:
指定的目录或文件在 Web 服务器上不存在。
URL 拼写错误。
某个自定义筛选器或模块(如 URL Scan)限制了对该文件的访问。
/*** 曾经尝试的方法(此方法无效) ***/
inetmgr 打开iis,点击根节点,在iis栏目中找到【处理程序映射】,双击打开,右键新增一个【添加通配符脚本映射】
可执行文件中填写(根据自己安装路径):C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 名称自定义。
然后查看应用程序,对应的【处理程序映射】中会增加一个同名的通配符脚本映射,区别在于,iis根节点的条目类型是【本地】,应用程序的是【继承】
至此,我的问题就解决了。不知道大家有没遇到这种问题,又是如何解决的。估计是win7+iis7.5省略了这个通配符脚本映射,因为使用iis7之前的版本是没这个问题的。
另外,如果只在应用程序添加该映射也是可以的,它会自动在应用程序的web.config中,<system.webServer> <handlers>下边增加一个节点
<add name="12345" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
这样也是可以解决这个问题。
/*** ***/
解决方案(针对web.config配置文件):
原来报错时的配置
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
更改后的配置
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
问题解决,希望大家共勉!