当我试图运行我的应用程序时,我得到了这个错误信息。我不知道如何解决这个问题。
HTTP错误404.3 - 未找到该页面 你所请求的页面不能被提供 因为扩展 配置。如果该页面是一个 脚本,请添加一个处理程序。如果该文件 应该被下载,则添加一个MIME映射。
下面是错误页面的截图。
我可以做什么来解决这个错误?
在Windows 8/10中,你必须使用
参考资料。 [查看本题的解题思路,供参考][1]
使用aspnet_regiis.exe来注册你所使用的.NET框架的版本。
这是一个常见的问题,当IIS安装在VS或.NET框架之后发生。
注意--对于Windows 8/10用户,请参阅下面JohnOpincar的另一个答案。还有Kevin Brydon的评论/提示。
我在Windows 10上解决了这个问题。
进入控制面板--程序和功能--打开或关闭Windows功能。
选择.NET Framework 4.6 Advanced Services - WCF Services。
勾选HTTP激活。
4.确定完成。
在我的例子中,我需要为每个要提供给web config的文件扩展名添加MIME类型。
<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>
如果这对任何人都有帮助,当我试图运行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
我刚刚与我的客户发生了同样的情况。 我们有自己的产品,可以安装一个网站。安装程序配置了一切:IIS池、网站、web.config等。
我们用我们的安装程序安装了另一个网站。 我们输入了相同的参数,所以两个网站的web.configs刚好是相同的。
然而,新安装的站点运行良好,而旧的站点却不能。 然后我打开两个IIS管理器窗口,开始比较网站设置的不同。我发现了一个问题。
有人删除了旧网站的所有处理程序映射。如果你进入"处理程序映射",你应该看到那里有aspx、asmx和其他扩展名以及处理程序的名称。因此,在旧网站中,所有这些记录都不见了。
因此,我建议首先检查"处理程序映射"--那里一定有很多记录。创建一个新的网站并进行比较,以了解应该有多少条记录。
谁删除了它们,是人还是其他程序,我不知道。如果有人能告诉我,是否存在一些跟踪应用程序,告诉用户domain\john在日期"07.03.2012 12:34"修改网站,这将是有用的。
运行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).
正如@Mahmoodvcs所提到的,我需要为我需要直接托管/下载的文件扩展名设置/添加MIME类型,在这种情况下,是一个Heroku'的转储文件(postgres'的数据库备份),所以为了设置一个公共的IIS服务器,在那里你可以下载这些文件,而不需要AWS S3 bucket或HTTP共享,如dropbox,这是一个非常好的选择。
<staticContent>
<mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>
PHP 7.3 应用 IIS 在 Windows Server 2012 R2 上的应用。
这对我来说是一个两步走的过程。
2)添加FASTCGI模块映射
进入服务器管理器>。 添加角色和功能 从服务器池中选择你的服务器 转到功能> WCF服务 我选择了所有类别,然后安装
进入IIS > 选定的网站 在中心窗格中选择处理程序映射。 在右侧窗格中选择 "添加模块映射"。
在编辑窗口内。
请求路径: *.php
模块。 FastCgimodule
可执行。 我浏览了PHP文件夹内的php-cgi.exe。
名称:PHP7.3
现在我想起来了。 也许有一种方法可以在 web-config 中添加这个处理程序映射,这样如果你把你的网站迁移到另一个服务器上,你就不必一次又一次地添加这个映射了。
EDIT:
这就是了。
将此添加到 web-config 的
<add name="PHP-FastCGI" verb="*"
path="*.php"
modules="FastCgiModule"
scriptProcessor="c:\php\php-cgi.exe"
resourceType="Either" />
确认IIS中的应用池(以IIS7以上版本为例)是否被选为集成。 在这种情况下,可能改成经典版就可以解决这个问题。
我试图在我的windows 7电脑上设置MediaWiki,得到了这个错误。
我的解决办法是["为php创建一个全局FastCGI处理程序映射"][2]。
1:
[2]: http://www.iis.net/configreference/system.webserver/fastcgi#004