1

従来の ASP サイトを作成して展開しました。IE でテストすると、次のようになります。

HTTP エラー 500.19 - 内部サーバー エラー説明: ページの関連構成 データが無効である
ため、要求されたページにアクセスできません。

エラー コード: 0x8007000b7

通知: ExecuteRequestHandler

モジュール: DefaultDocumentModule

要求された URL: localhost:80/bikes/

物理パス: D:\BIKES\
ログオン ユーザー: 匿名

ログオン方法: 匿名

ハンドラー: StaticFile

構成エラー: 一意のキー属性 'value' が 'index.asp' に設定されているタイプ 'add' の重複するコレクション エントリを追加できません

設定ファイル: \?\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 要素を配置してください。

編集

私はこれをもう一度やり直します。このエラーがあります:

構成エラー: 一意のキー属性 'value' が 'index.asp' に設定されているタイプ 'add' の重複するコレクション エントリを追加できません

「index.asp」という値を持つものは、すでにコレクションにあるアイテムの複製であるため、追加できないことに注意してください。

「index.asp」という値を持つ構成には何がありますか? メインの web.config には次のものがあります。

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

デフォルトでは、マシンレベルの構成にはこのコレクションに「index.asp」が含まれていないため、これで十分です。

ただし、bikes フォルダー内の Web.config にも次のものがあります。

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

ここで、サブ フォルダーの場合、親フォルダー (メインの web.config を含む) 内のすべての web.config が既に読み込まれていることに注意することが重要です。IIS がこの自転車フォルダー web.config を読み込もうとすると、値 "index.aspx" を既定のドキュメント ファイル コレクションに再度追加するよう求められます。

したがって、<defaultDocument>バイクの web.config から要素を削除することで修正できます。実行しようとしている作業は既に完了しています。

于 2012-07-04T05:43:20.330 に答える