1

我创建并部署了经典的 ASP 站点,当我在 IE 中测试时,我得到了这个:

HTTP 错误 500.19 - 内部服务器错误
描述:无法访问请求的页面,因为该
页面的相关配置数据无效。

错误代码:0x8007000b7

通知:ExecuteRequestHandler

模块:DefaultDocumentModule

请求的 URL:localhost:80/bikes/

物理路径:D:\BIKES\
登录用户:匿名

登录方式:匿名

处理程序:静态文件

配置错误:无法添加类型为“add”且唯一键属性“value”设置为“index.asp”的重复集合条目

配置文件:\?\D:\BIKES\web.config

配置来源:
6:<files>
7: <add value="index.asp" />
8:</files>

这是我的 web.config:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    <system.webServer>
        <directoryBrowse enabled="false" />
        <defaultDocument>
          <files>
            <add value="index.asp" />
          </files>
        </defaultDocument>
        <security>
            <authorization>
                <remove users="*" roles="" verbs="" />
                <add accessType="Allow" users="*" roles="" />
            </authorization>
        </security>
    </system.webServer>
    <connectionStrings>
        <remove name="LocalSqlServer" />
    </connectionStrings>
  </configuration>

我试图删除标记文件在 D:\bikes 和 system/inetpub/wwwroot/web.config 中的 web.config 中添加值,但它仍然是相同的错误。请任何人帮助我。

4

1 回答 1

1

从 web.config 中删除 defaultDocument 元素,或者在 defaultDocument 元素的开头放置一个 clear 元素。

编辑

我再试一次。你有这个错误:

配置错误:无法添加类型为“add”且唯一键属性“value”设置为“index.asp”的重复集合条目

请注意,它抱怨值为“index.asp”的内容是集合中已有项目的副本,因此无法添加。

配置中有什么值为“index.asp”?在主 web.config 你有这个:

   <defaultDocument> 
      <files> 
        <add value="index.asp" /> 
      </files> 
    </defaultDocument> 

默认情况下,这很公平,机器级配置在此集合中不包含“index.asp”,因此可以正常工作。

但是你的自行车文件夹中的 Web.config 也有:

<files>  
    <add value="index.asp" />  
</files>  

现在重要的是要注意,对于子文件夹,父文件夹(包括您的主 web.config)中的任何 web.configs 都将被加载。当 IIS 尝试加载此自行车文件夹 web.config 时,您要求它再次将值“index.aspx”添加到默认文档文件集合中。

因此,解决方法是<defaultDocument>从自行车 web.config 中删除元素,它正在尝试做的工作已经完成。

于 2012-07-04T05:43:20.330 回答