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

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

下面是错误页面的截图:

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


当前回答

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

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

其他回答

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

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

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

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

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

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

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

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

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

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

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

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

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

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" />