“由于扩展配置,无法提供您请求的页面。”错误信息
Posted
技术标签:
【中文标题】“由于扩展配置,无法提供您请求的页面。”错误信息【英文标题】:"The page you are requesting cannot be served because of the extension configuration." error message 【发布时间】:2011-05-22 05:52:24 【问题描述】:我在尝试运行我的应用程序时收到此错误消息。我不知道如何解决它:
HTTP 错误 404.3 - 未找到该页面 无法为您提供服务 因为扩展 配置。如果页面是 脚本,添加处理程序。如果文件 应该下载,添加 MIME 映射。
这是错误页面的屏幕截图:
我可以做些什么来修复这个错误?
【问题讨论】:
源代码比错误页面更有帮助 您需要查看源代码的哪一部分? 按照上述说明操作后,如果您遇到同样的错误,请通过以下链接并按照步骤Click Here 【参考方案1】:在 Windows 8/10 中,您必须使用
打开控制面板 → 程序和功能 → 打开或关闭 Windows 功能 → Internet 信息服务 (IIS) → 万维网服务 → 应用程序开发功能 → 检查相应的项目,例如启用 ASP.NET。 (即安装您要用于配置网站的适当版本)参考:Check the solution of this question for reference
【讨论】:
我必须检查.NET Framework 4.5 Advanced Services
> WCF Services
> HTTP Activation
从管理员命令提示符运行此命令:“dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation /all”或“dism /Online /Enable-Feature /FeatureName:WCF -HTTP-Activation45 /all"
就在我习惯了运行 regiis 的时候,微软又去改了。好吧,至少这要容易得多 - 类似于安装 WIF 的更改。现在他们应该添加 SQL 来打开/关闭 Windows 功能。
@KevinBrydon - 非常感谢!您的提示对解决 Windows 2012 R2 上的问题很有帮助。
@KevinBrydon 解决了它。作为一个简单的评论真是太棒了。它的票数比实际答案多。也许你应该把这个作为答案?【参考方案2】:
使用aspnet_regiis.exe 注册您正在使用的.NET 框架的版本。
这是一个常见问题,在 VS 或 .NET 框架之后安装 IIS 时会发生。
注意 - 对于 Windows 8/10 用户,请参阅 the other answer by JohnOpincar below。还有来自 Kevin Brydon 的评论/提示。
【讨论】:
事实上,我确实先安装了 Visual Studio,然后再安装了 IIS。我目前正在运行“aspnet_regiis.exe -i”命令。希望这可以修复错误。 在我尝试访问 .svc WCF 服务时遇到此错误时也为我工作。 注意 - 对于 Windows 8 用户,请参阅下面 JohnOpincar 的其他答案 +1 对于通过搜索找到此内容的任何其他人,您可能会发现在 .NET 安装上执行修复比尝试运行 aspnet_regiis.exe 作为阻力最小的路径并解决问题更容易。在安装 IIS 角色之前,我们在已安装 .NET 4.5.2(通过 Windows 更新)的机器上看到了很多这种情况,这有点令人沮丧,因为这些机器会将 .NET 4 显示为他们的应用程序池中的一个选项,但是如果您的应用程序需要像我们这样的 .NET 4.5,它将失败并显示上述消息。【参考方案3】:我在我的 Windows 10 上修复了这个问题:
转到控制面板 - 程序和功能 - 打开或关闭 Windows 功能。
选择 .NET Framework 4.6 高级服务 - WCF 服务
检查 HTTP 激活。
好的。
【讨论】:
在 Windows 10 上为我工作!谢谢! 在 win 8.1 上也适用于我 在Win10 iis7上工作 这在升级到 Windows 1709 并且必须重新安装我的 IIS 后工作 完美地为我工作。如果您遇到“当请求的 URL 的文件扩展名用于服务器上未配置的 MIME 类型时会发生此错误”的理想解决方案【参考方案4】:在我的例子中,我需要为每个我想提供给网络配置的文件扩展名添加 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>
【讨论】:
1+ 它解决了我的问题...我试图加载.json
并且我一直收到 OP 错误,最后我最终在我的 web.config 中添加了 mimeMap
并解决了问题
我还需要为 asmx 文件添加 MIME 类型吗?
@ShilpaSoni asmx 文件是 asp.net 服务器文件(不是静态内容)。所以你不能也不需要从客户端下载它们。
和here's 对应的mimeType 的文件扩展名映射,来自this SO question【参考方案5】:
如果这对任何人有帮助,我在尝试运行 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
【讨论】:
【参考方案6】:我的客户也遇到了同样的情况。我们有自己的产品,可以安装一个网站。安装程序会配置所有内容:IIS 池、站点、web.config 等。
我们使用我们的安装程序安装了另一个网站。我们输入了相同的参数,因此两个站点的 web.configs 恰好相同。
但是,新安装的站点运行良好,而旧站点却没有。然后我打开 2 个 IIS 管理器窗口并开始比较网站设置的差异。我发现了一个问题。
有人删除了旧站点的所有处理程序映射。如果您转到“处理程序映射”,您应该会看到 aspx、asmx 和处理程序的其他扩展名和名称。因此,在旧站点中,所有这些记录都丢失了。
所以,我建议首先检查“处理程序映射”——那里一定有很多记录。创建一个新网站并进行比较以了解应该有多少个。
谁删除了它们,一个人或另一个程序,我不知道。如果有人能判断是否存在一些跟踪应用程序,它会告诉用户 domain\john 正在修改日期为“07.03.2012 12:34”的网站,那将很有用。
【讨论】:
会不会是Microsoft security update?【参考方案7】:我通过安装所有 WCF 功能解决了我在 Windows 2012 服务器上的问题。
A) 服务器管理器 > 管理[link top left] > 添加角色和功能
B) 在功能 > .Net Framework 4.5 功能 > WCF 服务中
C) 检查(启用)这些功能。我都检查了。
D) 安装
【讨论】:
我只检查了 HTTP 激活和 TCP 激活,它对我有用。还是谢谢你!【参考方案8】:运行 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).
【讨论】:
【参考方案9】:正如@Mahmoodvcs 提到的,我需要为需要直接托管/下载的文件扩展名设置/添加 MIME 类型,在这种情况下是 Heroku 的转储文件(postgres 的数据库备份),因此为了设置公共IIS 服务器,您可以在其中下载此文件,而无需 AWS S3 存储桶或 HTTP 共享(如 Dropbox),这是一个了不起的选择!
<staticContent>
<mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>
【讨论】:
【参考方案10】:顺便说一句,我刚刚发现了这个帖子: http://blogs.msdn.com/b/webtopics/archive/2010/03/19/iis-7-5-how-to-enable-iis-configuration-auditing.aspx 它解释了如何审核 IIS 上的更改。对于那些面临类似问题的人,我建议打开审核,然后再看看您的网站停止工作的原因。
【讨论】:
【参考方案11】:我也遇到了这个错误,在 Windows Server 2008 IIS 7 上,我没有安装 Visual Studio,所以重新安装/修复 .NET 4.0 就可以了。
【讨论】:
【参考方案12】:要添加扩展以在 IIS 中提供服务,请遵循 -
-
打开 IIS 管理器并导航到您要管理的级别。
在功能视图中,双击 MIME 类型。
在“操作”窗格中,单击“添加”。
在“添加 MIME 类型”对话框的“文件扩展名”文本框中键入文件扩展名。 ...键入 MIME 类型
在 MIME 类型文本框中。
点击确定。
【讨论】:
我在 .ts(类型脚本文件)的情况下测试了这个解决方案,你必须在 MIME 类型 Typescript 字段(.ts)中声明我使用 text/x.typescript 作为 MIME 类型【参考方案13】:为Windows Server 2016
-
打开
Server Manager
表单
Manage
-> Add Roles and Features
下一个直到Features
页面
检查WCF Services
功能和所有子功能
Next
和 Install
【讨论】:
【参考方案14】:关于Server 2016,我应该补充一下:
从这个目录运行这个命令:aspnet_regiis -lv
:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\
这给了你
最好的了解正在发生的事情
在 Server 2016 上,乱序安装 .net 和 iis 不会 似乎是个问题。
Server 2016 上更可能出现的问题是 机器上没有安装asp.net。
【讨论】:
【参考方案15】:如果您要查看无扩展名文件,对我有用的是添加 MIME Type
:文件扩展名:.
MIME 类型:text/plain
这可能会对 MVC 产生一些影响,尤其是当您的 Static File Handler
高于 Extensionless...
处理程序时(在 IIS
/ Handler Mappings
下),但当您只是暂时需要它时可能是一种解决方法,例如激活 SSL 证书.
【讨论】:
【参考方案16】:我试图在我的 Windows 7 电脑上设置 MediaWiki 并收到此错误。
我的解决方案是"create a global FastCGI handler mapping for php"。
【讨论】:
【参考方案17】:验证 IIS 中的应用程序池(如果是 IIS7 或更高版本)选择为集成。在这种情况下,可能改成经典可以解决这个问题。
【讨论】:
【参考方案18】: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-config 中添加此处理程序映射,因此如果您将站点迁移到另一台服务器,则不必一遍又一遍地添加此映射。
编辑:在这里。将此添加到 web-config 的部分。
<add name="PHP-FastCGI" verb="*"
path="*.php"
modules="FastCgiModule"
scriptProcessor="c:\php\php-cgi.exe"
resourceType="Either" />
【讨论】:
【参考方案19】:将video
设置为您的IIS MIME Type
这解决了我的问题。
参考:https://***.com/a/8853443/8832133
【讨论】:
以上是关于“由于扩展配置,无法提供您请求的页面。”错误信息的主要内容,如果未能解决你的问题,请参考以下文章
IIS 7.5 中的 WCF 服务托管 - 由于扩展配置,无法提供您请求的页面 [重复]