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

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

下面是错误页面的截图:

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


当前回答

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

其他回答

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

在我的情况下,我需要为每个文件扩展名添加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>

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

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

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

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

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

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

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