The requested page cannot be accessed because the related configuration data for the page is invalid error
我想通过
HTTP Error 500.19 - Internal Server Error The requested page cannot be
accessed because the related configuration data for the page is
invalid
1 2 3 4 5 6 | Module IIS Web Core Notification Unknown Handler Not yet determined Error Code 0x80070005 Config Error Cannot read configuration file due to insufficient permissions Config File \\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config |
我多次搜索这个错误的解决方案,但没有一个解决方案解决了这个错误。
我的IUSR账户有问题。我在
有什么问题?
如果站点配置为使用IIS URL重写模块,但未安装,也可能发生这种情况。
最后,我找到了解决问题的方法。ASP.NET帐户没有出现在IIS管理器中,因为我没有在IIS中选中它的复选框。要在Windows 7中执行此操作,请执行以下步骤:
现在,您将在IIS管理器上看到ASP.NET帐户,默认情况下,您将看到IIS帐户。现在,您应该将您的ASP.NET网站从"我的文档"移动到IIS有权访问它的另一个位置(即,移动到您计算机上的另一个分区)。现在,从IIS管理器浏览您的网站,它应该可以工作了。
非常感谢Jeff Turner提供的解决方案。
消息表明您的配置文件在某种程度上已损坏。但是,它也表示它实际上不能访问配置文件。因此,我将忽略有关损坏/缺少有效性的原始消息,因为这很可能是由于缺少授权而导致无法读取文件的后果。
它无法读取配置文件的原因是运行Web应用程序的进程没有访问该文件/目录的权限。因此,您需要授予运行Web应用程序的进程这些权限。
访问权限应该相当简单,至少是读的,而且根据应用程序的不同,可能是写的。
上面,您提到的IUSR等不在
文件web.config只能通过应用程序访问。
问题是你没有说你使用的是哪个操作系统和IIS版本,所以很难建议你采取什么步骤。
也就是说,在IIS 7.5中,由于应用程序PoolIdentity未被分配权限,您引用的错误消息可能会出现。您的Web应用程序属于应用程序池,因此您需要授予运行Web应用程序池所使用的OS帐户权限。通常,这类似于NetworkService,但您可能已将其自定义为在专用帐户下运行。如果没有更多的信息,很难帮助你。
在我的案例中,安装了IIS URL重写模块解决了这个问题。
我也遇到了同样的问题,这就是我的解决方案。
对于Visual Studio(vs)开发人员:正如Harvey Darvey、Savage和Snives所暗示的,您的应用程序主机配置可能指向错误的应用程序物理路径。在/vs/config/applicationhost.config中搜索virtualDirectory,以更改physicalPath(如果不正确)。
确保physicalPath正确:
警告:
如果配置文件的路径错误,也会出现此错误。再次检查以确保在IIS中正确输入物理路径。
您需要在本地计算机上为IIS分配权限(但您不必为IUSR分配权限,事实上,即使您明确拒绝权限,它也可以工作)。
要分配权限,只需右键单击文件夹并在"安全"选项卡上确保授予正确的权限,如果未列出用户,则单击"添加",然后输入IIS iusrs(并确保在"域"下选择了本地计算机,或在"名称"字段中输入您的本地计算机名称IIS iusrs),然后就可以开始了。
如果需要,您可以将权限分配给"IIS应用程序池应用程序池名称",而不是分配给"IIS应用程序池"组。
同样的事情发生在我身上,当你选择一个网站时,试着通过双击IIS 7右窗格上的连接字符串来检查这一点。
它会给您一个错误(Web配置文件有一些问题),因为您已经使用了URL重写规则,并且没有安装相应的组件。
安装"Microsoft URL Rewrite Module 2.0 for IIS 7",这样可以解决您的问题。
这里对我没有任何帮助,但我在另一个答案中找到了这个命令,它解决了我的问题。只需以管理员身份启动命令提示符并运行以下命令:
1 2 3 | run->cmd run"c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i" |
学分:用户VICxx
EHM。我已将网站/文件移动到其他文件夹。不更改IIS网站中的路径。
你们现在都可以笑了。
另一种可能为我解决了这个问题:
IIS->edit permissions->security tab->give"users"appropriate permissions(或根据您的设置为IIS提供适当的权限)
我做这些步骤来解决这个问题Windows Server 2012,IIS 8.5。也适用于其他版本。
确保将应用程序池设置为框架的正确版本。您还需要确保您的aspnet、iis-iusr s或iusr用户具有对应用程序目录的读取权限。
有时,此消息可能缺少您的IIS环境中的组件,例如特定框架,或者动态压缩之类的IIS功能,而不是对web.config的权限。
如果是这种情况,解决方案可以是安装和使用Microsoft平台安装程序,并安装那些丢失的组件-您可能需要尝试一下到底缺少什么,因为错误日志和消息不会告诉您。
当我在web.config文件和我的IIS网站中都指定了相同名称的默认文档(如index.aspx)时,我也遇到了这种情况。我最终从IIS网站删除了该条目,并保留了web.config条目,如下所示:
1 2 3 4 5 6 | <system.webServer> <defaultDocument> <files> </files> </defaultDocument>... |
您需要设置网站文件夹的权限或将其复制到wwwroot文件夹:)-如果设置权限,则有两种方式:+右键单击您的网站文件夹+或者右键单击IIS中的网站=>选择编辑权限并添加权限(IUSR-默认IIS用户)祝你好运;
当我从prod中复制web.config文件时,我遇到了这个问题,除了重写为https的重写规则,我更改了所有与prod无关的内容。
删除了这些规则,运行良好。
在我的例子中,它是由应用程序物理路径导致的,指向IIS中不存在的文件夹。
浏览你的网站存储的文件夹,你会得到一个额外的文件夹"aspnet_client"删除该文件夹,它将为你工作。
我试过了,我的问题解决了。
如果它对你有效,请把它作为答案,这样其他人也会得到解决方案。
映射驱动器出现此问题,IIS无法处理映射驱动器。只需使用未映射的驱动器。
非常直接,IIS没有访问web.config的权限。我先把网站从你的文档文件夹中拿出来。验证它是否也具有R/W权限。
如果web.config文件中存在synax错误或问题,则可能会出现此错误。
对我来说,它是一个流浪的符号,在一个我在AppSettings中使用的URL中。
只是为了解决这个问题,我收到了同样的错误,我的问题很简单:我缺少.NET核心托管包。一旦我安装了这个工具并重新启动了服务器,一切都很好。
您可以在以下位置找到Windows上托管ASP.NET核心的手册:https://docs.microsoft.com/en-us/asp net/core/host-and-deploy/iis/?视图=aspnetcore-2.2
我也有类似的问题,我通过评论web.config文件中的一些部分来解决它。
该项目先前是在.NET 2.0中构建和部署的。在迁移到.NET 3.5之后,它开始抛出异常。
决议:如果配置文件包含"
在"IIS 7.5错误"页面上,您可以单击页面底部的"查看更多信息",在这种情况下,您将看到以下Microsoft链接:http://support.microsoft.com/kb/9420550x80070005错误代码似乎与权限相关,按照解决方案2中的步骤,方法2分配对相关文件夹具有权限的正确帐户应该可以解决问题-我花了3天时间寻找解决方案,直到遇到它,然后立即解决。
在我的例子中,配置部分必须位于配置的顶部
1 2 3 4 5 6 7 | <configuration> <configSections> ... </configSections> <othersetting> </othersetting> ..... |
最后,我删除了Web应用程序的
对我来说,我从源代码管理中得到了最新的消息,这就发生了。
applicationhost.config文件的virtualDirectory路径与我的计算机中的路径不同。
我恢复了我自己的拷贝,它开始工作了。我正在使用IIS Express。
这些都不适合我,但我最终找到了一个适合我的解决方案:
在web.config中删除此行:
1 | <compilation debug="true" targetFramework="4.5"/> |
不要删除此行
1 | <compilation debug="true"/> |
我在
我们更喜欢控制如何使用
问题是,IIS通过将配置的一部分锁定到外部的捣乱者,来标记其权限。
可以使用功能委派小程序在IIS服务器级别设置读/写来解锁身份验证配置。
当然,在我们必须自动化配置IIS身份验证类型之前,现在我们必须自动化解锁。我有没有提到过IIS是一个可怕的产品?
在我的例子中,它只对匿名身份验证属性进行注释(或删除):
1 2 3 4 5 | <security> <!----> </authentication> </security> |
将本地帐户IIS添加到安全性中,并授予它们读取/执行访问权限。这对我的案子有效。
服务器崩溃后,我们的站点开始出现"HTTP 500.19 0x80070005错误-无法读取配置文件web.config"错误。通常是权限或匿名用户配置,但这些设置都很好,没有更改。由于怀疑IIS元数据库(或自iis7以来在%windir%system32inetsrvconfigapplicationhost.config中)中有损坏的内容,我可以通过删除IIS中的站点并重新创建来备份和运行该站点。
尝试安装IIS的"应用程序开发"子组件
在我的例子中,我选择了带有.NET Framework 2.0的应用程序池并启用了32位应用程序。我有.NET Framework 2.0应用程序。
我在一个SQL Server复制项目上得到一个"试图加载格式不正确的程序"错误
只需将命名空间从[WebService(namespace="http://tempuri.org/")]更改为
http://microsoft.com/webservices网站/
我用这个方法解决了我的问题
安装ASP.NET核心模块
使用以下链接下载安装程序:https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer
我更改了web.config文件以提供实际路径,而不是相对路径。
1 2 3 | <httpPlatform processPath="F:\Projects\..... instead of <httpPlatform processPath="..\approot\web.cmd" |
在我的例子中,我所做的只是以管理员模式运行Visual Studio。
检查错误/hresult代码并遵循以下指南:
- 打开IIS 7.0网页时出现"HTTP错误500.19"错误
0x800 7000
This problem occurs for one of the following reasons:
- You are using IIS 7.0 on a computer that is running Windows Vista. Additionally, you configure the Web site to use UNC Passthrough authentication to access a remote Universal Naming Convention (UNC) share.
The IIS_IUSRS group does not have the appropriate permissions for the ApplicationHost.config file, for the Web.config file, or for the virtual/application directories of IIS.
解决方案方法1
Do not configure the Web site to use UNC Passthrough authentication to access the remote UNC share. Instead, specify a user account that has the appropriate permissions to access the remote UNC share.
方法2(最有可能)
Grant the Read permission to the
IIS_IUSRS group for theApplicationHost.config file or for theWeb.config file.
所以简单来说,你需要:
安装.NET核心Windows Server托管捆绑包
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?视图=aspnetcore-2.1
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index?tabs=aspnetcore2X&;view=aspnetcore-2.1
我在使用Visual Studio 2017从本地计算机运行项目时遇到此错误。
这些解决方案中没有一个对我有用。在一天结束时,对我有用的修复方法是:
打开您的文件夹,其中包含您的项目与Windows资源管理器。右键单击该文件夹并为用户添加权限。
*非常简单的解决方案:
去IIS
从左窗格中选择应用程序。
双击中间窗格中的目录浏览。
现在转到右窗格,在"操作"选项卡下,单击"启用"
这就是全部!!
人们,试着理解错误:由于权限不足,配置错误无法读取配置文件