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

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

下面是错误页面的截图:

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


当前回答

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

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

其他回答

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

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

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

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

如果这对任何人都有帮助,我在试图运行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

关于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).