HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。

将网站发布到新的WEB服务器上时,网站无法打开并出现服务器错误:HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。 此问题是由于IIS服务上没有添加或者限制了ASP.NET对应的ISAPI服务器扩展造成的。

有关ISAPI服务器扩展的知识,可以查看windows server官网资料:在 IIS 7 中配置 ISAPI 和 CGI 限制

HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。

所以解决方法就是添加ASP.NET网站对应版本的ISAPI扩展。比如博主的网站是ASP.NET MVC5,所以需要使用v4.0.30319版本的aspnet_isapi.dll扩展。其实错误页面也有提示具体的解决步骤:

HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。


下面将详细的对这些步骤进行说明:

1.打开 IIS 管理器并定位到服务器级别。打开服务器上的Internet 信息服务(IIS)管理器,选择IIS节点:

HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。

2.在“功能”视图中,双击“ISAPI 和 CGI 限制”以确认 Web 服务扩展被设置为“允许”。

HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。

HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。

这里要根据网站项目所使用的.NET Framework版本进行设置

3.如果该扩展不在列表中,请在“操作”窗格中单击“添加”。

HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。

4.在“添加 ISAPI 和 CGI 限制”对话框中,在“ISAPI”或“CGI 路径”框中键入 .dll 或 .exe 文件的路径,或者单击“浏览”导航到相应文件的位置。

5.在“描述”框中,键入该限制的简要说明。

HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。

6.(可选)选中“允许执行扩展路径”以使限制可以自动运行。如果不选中此选项,则限制状态将为“不允许”,这是默认状态。您可以在以后选中此选项并单击“操作”窗格中的“允许”来允许该限制。

7.单击“确定”。

注意: 请在确认您的 Web 服务器需要此 Web 服务扩展或 CGI 之后再将其添加到列表中。

  • 确认扩展的位置正确。
  • 确认扩展的 URL 在浏览器和 Web 服务器中均拼写正确。
  • 创建跟踪规则以跟踪此 HTTP 状态代码的失败的请求。