HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本 因而将无法由静态文件处理程序来处理
2011-03-18 14:41 YZGJTSJT 阅读(4844) 评论(4) 编辑 收藏 举报有时当我们以类似(http://www.xxx.com/)的形式访问站点时,会出现以下错误提示信息!
但当我们以这样(http://www.xxx.com/default.aspx)的形式访问时,就没有任何问题了!原因何在呢?
曾经在各大搜索引擎上寻找答案,很遗憾没有一个回答对的,可能是引发此类问题的原因不一样吧!
最终在微软官网中找到了正确答案,有兴趣的朋友可以去官网看看。
这是出现问题时Web.Config的配置
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="urlre" path="*" verb="*" *****省略***** />
</handlers>
</system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="urlre" path="*" verb="*" *****省略***** />
</handlers>
</system.webServer>
这是更改后的Web.Config配置
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="urlre" path="*.aspx" verb="*" *****省略***** />
</handlers>
</system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="urlre" path="*.aspx" verb="*" *****省略***** />
</handlers>
</system.webServer>
就这么一点(path="")小小的改动,问题就解决了。
希望对遇到此类问题的朋友有所帮助,当然可能引发此错误的原因不尽相同,但终会被你解决的,不是吗?
N:如果配置文件里没有该节点,就手动添加该节点。以下是.NET4.0和2.0的相关配置,根据需要添加即可!
v4
<add name="urlre" path="*.aspx" verb="*" modules="IsapiModule" scriptProcessor="c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
v2
<add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />