尝试运行我的应用程序时收到此错误消息。我不知道如何解决它:
HTTP错误404.3 - 未找到该页面 您要求无法送达 因为扩展 组态。如果页面是 脚本,添加处理程序。如果是文件 应该下载,添加一个MIME地图。
以下是错误页面的屏幕截图:
我该怎么做才能解决此错误?
答案 0 :(得分:214)
在Windows 8/10中,您必须使用
答案 1 :(得分:160)
使用aspnet_regiis.exe注册您正在使用的.NET框架版本。
这是一个常见问题,在VS或.NET框架之后安装IIS时会发生。
注意 - 对于Windows 8/10用户,请参阅the other answer by JohnOpincar below。以及Kevin Brydon的评论/提示。
答案 2 :(得分:90)
我在Windows 10上修复了这个问题:
转到“控制面板” - “程序和功能” - 打开或关闭Windows功能。
选择“.NET Framework 4.6高级服务 - WCF服务”
检查HTTP激活。
好的。
答案 3 :(得分:81)
在我的情况下,我需要为我想要提供给web配置的每个文件扩展名添加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>
答案 4 :(得分:20)
如果这有助于任何人,我在尝试运行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
答案 5 :(得分:7)
我和我的客户有同样的情况。我们有自己的产品安装网站。安装程序配置所有内容:IIS池,站点,web.config等。
我们使用安装程序安装了另一个网站。我们输入了相同的参数,因此web.configs在两个站点中都是相同的。
然而,新安装的网站运行良好,而旧网站没有。然后我打开了2个IIS管理器窗口并开始比较网站设置的差异。我发现了一个问题。
有人删除了旧网站的所有Handler Mappings。如果你去“处理程序映射”,你应该看到aspx,asmx和其他扩展名和处理程序的名称。因此,在旧网站中,所有这些记录都丢失了。
所以,我建议先检查“处理程序映射” - 那里必须有很多记录。创建一个新的网站,并比较知道应该有多少。
谁删除了他们,一个人或另一个程序,我不知道。如果有人可以判断是否存在某个跟踪应用程序,该应用程序会告诉用户域\ john在日期“07.03.2012 12:34”修改网站,这将是有用的。
答案 6 :(得分:6)
我通过安装所有WCF功能修复了我在Windows 2012服务器上的问题。
A)服务器管理器&gt;管理[链接左上角]&gt;添加角色和功能
B)在特征中&gt; .Net Framework 4.5功能&gt; WCF服务
C)检查(启用)功能。我检查了所有。
D)安装
答案 7 :(得分:5)
运行Windows Server 2008 R2 64位和.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).
答案 8 :(得分:3)
正如@Mahmoodvcs所说,我需要为我需要直接托管/下载的文件扩展名设置/添加MIME类型,在这种情况下是Heroku的转储文件(postgres的数据库备份) ,因此,为了设置一个公共IIS服务器,您可以在其中下载此文件而无需AWS S3存储桶或Dropbox等HTTP共享,这是一个了不起的选择!
<staticContent>
<mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>
答案 9 :(得分:2)
我也有这个错误,在Windows Server 2008 IIS 7上,我没有安装Visual Studio,因此重新安装/修复.NET 4.0就可以了。
答案 10 :(得分:2)
顺便说一下,我刚发现这篇文章: http://blogs.msdn.com/b/webtopics/archive/2010/03/19/iis-7-5-how-to-enable-iis-configuration-auditing.aspx 它解释了如何审核IIS上的更改。对于那些面临类似问题的人,我建议启用审核,然后再查看您的网站停止工作的原因。
答案 11 :(得分:1)
要添加要在IIS中投放的扩展程序,请执行以下操作 -
答案 12 :(得分:0)
我试图在我的Windows 7上设置MediaWiki并收到此错误。
答案 13 :(得分:0)
验证IIS中的应用程序池(在IIS7或更高版本的情况下)是否已选择为集成。在这种情况下,可能更改为Classic可以解决此问题。
答案 14 :(得分:0)
与Server 2016相关,我应该添加:
从此目录运行此命令:aspnet_regiis -lv
:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\
这给了你
最佳观点发生了什么
在Server 2016上,安装.net和iis不按顺序安装 似乎是个问题。
Server 2016上更可能出现的问题就是这样 机器上没有安装asp.net。
答案 15 :(得分:0)
Windows Server 2012 R2上的PHP 7.3应用程序IIS
对我来说这是一个两步过程。
1)启用WCF服务-重新启动服务器
2)添加FASTCGI模块映射
1)
转到服务器管理器>添加角色和功能 从服务器池中选择服务器 转到功能> WCF服务 我选择了所有类别然后安装了
2)
转到IIS>选择站点 在中心窗格中,选择处理程序映射 右窗格中选择“添加模块映射”
在编辑窗口中:
请求路径:* .php
模块:FastCgimodule
可执行文件:我浏览到我的PHP文件夹中的php-cgi.exe
名称:PHP7.3
现在我考虑一下。可能有一种方法可以在Web配置中添加此处理程序映射,因此,如果将站点迁移到另一台服务器,则不必一遍又一遍地添加此映射。
编辑:在这里。将此添加到网络配置部分。
<add name="PHP-FastCGI" verb="*"
path="*.php"
modules="FastCgiModule"
scriptProcessor="c:\php\php-cgi.exe"
resourceType="Either" />
答案 16 :(得分:0)
答案 17 :(得分:0)
如果您尝试查看无扩展名的文件,那么对我有用的是添加一个.
:文件扩展名:text/plain
MIME类型 :Static File Handler
这可能会带来一些MVC含义,尤其是如果您的Extensionless...
在IIS
处理程序之上(在Handler Mappings
/ data=data.frame("student"=c(1,1,1,2,2,2,3,3,3),
"score"=c(NA,NA,NA,6,1,4,8,NA,3))
> dt <- data.table(data); dt
student score
1: 1 NA
2: 1 NA
3: 1 NA
4: 2 6
5: 2 1
6: 2 4
7: 3 8
8: 3 NA
9: 3 3
之下)时,但是当您仅暂时需要此功能,例如激活SSL证书。