今天把系统换成了windows 64位的系统,以前在32位下正常运行的网站部署在64位下不能访问了,始终报404.17或404.3的错误。
根据错误提示是没有配置MIME映射。在微软官网的帮助手册里面的解决方案是(原文HTTP 错误 404.17):
在web.config文件里面加入应用程序处理的配置:
<system.webServer>
<handlers>
<!--配置MIME映射-->
<add name="urlre" path="*" verb="*" modules="IsapiModule" scriptProcessor="c:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
resourceType="Unspecified" requireAccess="None"
preCondition="classicMode,runtimeVersionv4.0,bitness64" />
</handlers>
</system.webServer>
根据不同的操作系统选择对应的配置(我的.NET Framework 版本是4.0)。
ASP.NET 2.0 Classic Mode 32-bit Handler(windows32位操作系统的配置)
<add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
ASP.NET 2.0 Classic Mode 64-bit Handler(windows64位操作系统的配置)
<add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
就这样加入这个映射配置,程序正常运行了。