今天给客户部署项目的时候,遇到了两个关于IIS服务器的小问题,在此记录一下。
一、HTTP 错误 404.17
HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
出错原因
IIS没有安装完全或者没有注册.Net Frameword4.0
解决方案:打开ISAPI筛选器
查看是否安装了ASP.Net_4.0_32bit和ASP.Net_4.0_64bit,如果不存在这两项,说明IIS没有安装完全。那么就去检查一下IIS安装的时候有没有勾选ASP.NET:
控制面板 -> 程序和功能 -> 打开或关闭Windows功能 -> Internet信息服务 -> 万维网服务 -> 应用程序开发功能 -> ASP.NET(看这个是否选上),安装IIS的时候如果不知道勾选那个,最好都勾选上。
如下图:
安装完成后.Net Frameword4.0 默认是没有注册的,需要手动注册一下:
运行cmd输入:C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis -i
注:C:\Windows\Microsoft.NET\Framework\V4.0.30319\ 是 .Net Frameword的安装路径;
注册完成后一般网站就可以正常访问了。
但是我还遇到了另一个问题:
二、HTTP 错误 404.2
HTTP 错误 404.2 - Not Found. 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。
解决方案:
进入IIS的根节点->右侧“ISAPI和CGI限制”->把禁止的DotNet版本项设置为允许
然后网站就可以正常访问了.