19

セットアップ: Windows 7、IIS7。組み込みのデバッグ Web サーバーではなく、ローカル IIS サーバーを介して表示されているアプリに取り組んでいます。だから私のアプリのURLはhttp://localhost/foo/bar.aspx. 私の web.config にはセクションがなく、IIS の設定も変更していません。 <customErrors>

エラーが発生した場合、常に次のエラー画面が表示されます。

HTTP エラー 500.19 - 内部サーバー エラー
絶対物理パス " " は、web.config ファイルのセクションでC:\inetpub\custerrは許可されていません。system.webServer/httpErrors代わりに相対パスを使用してください。

ここに私のapplicationhost.config内容があります:

<httpErrors errorMode="Custom" lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
  <error statusCode="401" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="401.htm" />
  <error statusCode="403" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="403.htm" />
  <error statusCode="404" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="404.htm" />
  <error statusCode="405" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="405.htm" />
  <error statusCode="406" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="406.htm" />
  <error statusCode="412" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="412.htm" />
  <error statusCode="500" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="500.htm" />
  <error statusCode="501" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="501.htm" />
  <error statusCode="502" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="502.htm" />
</httpErrors>

詳細なエラーを確認できるように、この構成エラーを取り除くにはどうすればよいですか?

4

5 に答える 5

40

ここ数日間、この問題に対処してきましたが、解決策が見つかりました。Web.Config ファイルは、エラー ページのいずれかの絶対パスを指定している可能性があります。これは、テストしているアプリケーションの Web.Config ではない可能性があります。私にとっては、それは Web サイトの Web.Config ファイルでした。

  1. 問題のある Web.Config ファイルが見つかった場合は、絶対パスを削除して問題を解決する必要があります。

  2. はるかに簡単な解決策は、ApplicationHost.Configファイルを変更してallowAbsolutePathsWhenDelegatedプロパティをtrue次のように設定することです。

    <httpErrors allowAbsolutePathsWhenDelegated="true" errorMode="Custom" 
                lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
    
于 2010-04-02T15:47:59.643 に答える
2

ドメインコントローラーにActiveDirectory証明書サービスをインストールしたときにも同じ問題が発生しました。どちらもポート443を使用していました。証明書サービス用のポートをサーバーのIPアドレスに変更し、Exchangeサーバーを未割り当てのままにしました。それで私の問題は解決しました。

于 2011-02-14T20:46:24.643 に答える
1

IIS 8.5 でも同じ問題がありました。修正は、カスタム エラー ページを参照する web.config ファイル (Web サイトのルート ディレクトリにある) 内のすべてのエントリを削除することでした。カスタム ページに変更を加えようとしたときに、エントリがシステムによって作成されました。

于 2015-04-21T20:34:17.460 に答える
1

このエラーを解決するのに役立ったのはallowAbsolutePathsWhenDelegated、trueに設定することです。

IIS > 構成エディター > Section type: system.webServer/httpErrorsに移動し、 true に設定allowAbsolutePathsWhenDelegatedします。適切な測定のためにIISをリセットします。

于 2016-02-02T15:44:18.287 に答える
0

私にとっての解決策は、カスタムアカウントを設定することでした->右側のペインでアプリケーションを選択->基本設定--->接続->ユーザー名とパスワードを提供し、このユーザーにinetpub> wwwroot> foldernameのプロジェクトフォルダーに対する完全なアクセス許可を与えます

于 2021-09-20T13:15:29.277 に答える