当我试图运行我的应用程序时,我得到这个错误消息。我不知道怎么解决:

HTTP错误404.3 -未找到页面 您所要求的服务无法提供 因为延伸 配置。如果页面是 脚本,添加一个处理程序。如果文件 应该下载,添加一个MIME映射。

下面是错误页面的截图:

我能做什么来修复这个错误?


使用aspnet_regiis.exe注册你正在使用的。net框架版本。

这是一个常见的问题,当IIS安装在VS或。net框架之后时就会发生。

注意:对于Windows 8/10用户,请参阅下面JohnOpincar的另一个回答。还有Kevin Brydon的评论/建议。


我的客户也遇到了同样的情况。我们有自己的产品,安装一个网站。安装程序配置所有内容:IIS池、站点、web。配置等。

我们使用安装程序安装了另一个网站。我们输入了相同的参数,所以web。两个站点的配置碰巧是相同的。

然而,新安装的站点运行良好,而旧的则不行。然后我打开了两个IIS管理器窗口,开始比较网站设置的差异。我发现了一个问题。

有人删除了旧站点的所有处理程序映射。如果你转到“处理程序映射”,你应该看到aspx, asmx和其他扩展名和处理程序的名称。所以,在旧的网站上,所有的记录都不见了。

因此,我建议首先检查“Handler映射”—那里一定有很多记录。创建一个新的网站,并进行比较,了解应该有多少个网站。

是谁删除的,一个人还是另一个程序,我不知道。如果有人能告诉是否存在一些跟踪应用程序,它会告诉用户域\john在日期“07.03.2012 12:34”正在修改网站,这将是有用的。


顺便说一下,我刚刚发现了这个帖子: http://blogs.msdn.com/b/webtopics/archive/2010/03/19/iis-7-5-how-to-enable-iis-configuration-auditing.aspx 它解释了如何审计IIS上的更改。对于那些面临类似问题的人,我建议打开审计,然后查看站点停止工作的原因。


如果这对任何人都有帮助,我在试图运行aspnet_regiis.exe时得到这个错误:

对0x8007000B的操作失败 试图加载格式不正确的程序

事实证明,服务器运行的是2008年64位,而我试图运行32位版本的实用程序。运行在\Windows\Microsoft.NET\Framework64\v2.0.50727中找到的版本修复了这个问题。

c:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i

在Windows 8/10中,你必须使用

打开控制面板→ 节目及特色→ 打开或关闭Windows功能→ Internet Information Services (IIS)→ 万维网服务→ 应用开发特性→ 检查相应的项目,例如启用ASP.NET。(即安装你想要配置你的网站的适当版本)

参考:核对这道题的解答,以供参考


我也有这个错误,在Windows Server 2008 IIS 7上,我没有安装visual studio,所以重新安装/修复。net 4.0就可以了。


验证IIS (IIS7或以上版本)中的应用程序池是否选择为集成的。在这种情况下,可能改变经典可以解决这个问题。


在我的情况下,我需要为每个文件扩展名添加MIME类型,我想为web配置服务:

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".shp" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dbf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".kml" mimeType="text/xml" />
    </staticContent>
    ...
</system.webServer>

我试图在我的windows 7电脑上设置MediaWiki,并得到这个错误。

我的解决方案是“为php创建一个全局FastCGI处理程序映射”。


正如@Mahmoodvcs提到的,我需要为我需要直接托管/下载的文件扩展名设置/添加MIME类型,在这种情况下是Heroku的转储文件(postgres的数据库备份),所以为了设置一个公共IIS服务器,你可以下载这些文件,而不需要AWS S3桶或HTTP共享,如dropbox,这是一个很棒的选择!

<staticContent>
  <mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>


我修复了我的问题在Windows 2012服务器安装所有WCF功能。

A)服务器管理>管理[链接左上]>添加角色和功能

B)在功能> .Net Framework 4.5功能> WCF服务

C)检查(启用)功能。我都检查过了。

D)安装


我在Windows 10上修复了这个问题:

进入控制面板-程序和功能-打开或关闭Windows功能。 选择。net Framework 4.6高级服务- WCF服务 检查HTTP激活。 好做。


要添加一个扩展,以便在IIS中服务

打开IIS管理器并导航到要管理的级别。 在功能视图中双击MIME类型。 在Actions窗格中,单击Add。 在“添加MIME类型”对话框中,在“文件扩展名”文本框. ...中输入文件扩展名键入MIME类型 在MIME类型文本框中。 单击OK。


关于Server 2016,我需要补充:

aspnet_regiis -lv from this dir: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ 最好的视角 在Server 2016上,不按顺序安装。net和iis不会 似乎是个问题。 Server 2016更可能出现的问题是什么 计算机上没有安装Asp.net。


运行Windows Server 2008 R2 64bit和。net framework 4.5,在这个位置运行这个命令,并且成功:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i

输出:

Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation.  All rights reserved.
Start installing ASP.NET (4.0.30319.0).
.....
Finished installing ASP.NET (4.0.30319.0).

针对Windows Server 2016

打开服务器管理器表单 Manage ->添加角色和特性 Next直到Features页面 检查WCF服务功能及其所有子功能 下一步和安装


PHP 7.3应用程序IIS在Windows Server 2012 R2

这对我来说是一个两步的过程。

1)启用WCF服务-重启服务器

2)添加FASTCGI模块映射

1)

进入“服务器管理器”>添加角色和特性 从服务器池中选择您的服务器 进入功能> WCF服务 我选择了所有类别然后安装

2)

去IIS >选中的站点 在中心窗格中选择处理程序映射 右边窗格选择添加模块映射

在编辑窗口内:

请求路径:*.php

模块:FastCgimodule

可执行文件:我浏览到PHP文件夹中的PHP -cgi.exe

名称:PHP7.3

现在我想起来了。也许有一种方法可以在web配置中添加这个处理程序映射,这样如果你把你的网站迁移到另一个服务器上,你就不必一遍又一遍地添加这个映射。

编辑:在这里。将此添加到web-config部分。

<add name="PHP-FastCGI" verb="*" 
  path="*.php" 
  modules="FastCgiModule"
  scriptProcessor="c:\php\php-cgi.exe" 
  resourceType="Either" />

设置视频为您的IIS MIME类型

这解决了我的问题。

裁判:https://stackoverflow.com/a/8853443/8832133


如果你试图查看一个无扩展名的文件,对我来说是添加一个MIME类型:文件扩展名:。MIME类型:文本/纯

这可能会有一些MVC的影响,特别是如果你的静态文件处理程序在无扩展…处理程序(在IIS /处理程序映射下),但当你只是暂时需要它时,可能是一种解决方法,比如激活SSL Certs。