2011-10-24 1 views
0

iis 6でカスタムエラーページを設定しようとしているアプリケーション(アプリケーションプールのあるフォルダ)があります。 Web設定で私はカスタムエラーの要素を持っていますが、決して表示されません。私がIISに行って、アプリケーションのプロパティを見ると、oops.htmlを指すようにカスタムエラーを設定できます。 IISは、エラーを処理するためにweb.configの設定を使用していないようです。 WWW: www.mysite.com/myappfolder/<customErrors mode = "On"を使用するとIIS 6の嚥下エラーが発生する

は、ウェブの設定はである:ここでは

は私がアプリに

<system.web> 
    ... 
    <customErrors mode="On" defaultRedirect="/oops.html" redirectMode="ResponseRewrite" /> 
    ... 
</system.web> 
<system.webServer> 
    ... 
    <httpErrors existingResponse="PassThrough" /> 
    ... 
<system.webServer> 

web.configファイル内のアドレスは次のようである持っているものです.mysite.com/myappfolder/

とoops.htmlである: www.mysite.com/myappfolder/oops.html

にアクセスしようとすると: www.mysite.com/myappfolder/NothingReal 404がスローされ、IISをoops.htmlにリダイレクトするように設定した場合にのみ、ページが表示されます。

カスタマーエラーの対象を指定するルールは何ですか? 〜/ myappfolder/oops.htmlを使って "/"を削除する必要がありますか? IIS 6のエラー処理をバイパスし、すべてのエラーを自分のページにリダイレクトするにはどうすればよいですか?

+0

少なくとも、デフォルトのasp.netエラーページはありますか?または、あなたの 'oops.html'ページがまったく見つかりませんか? – guanome

+0

カスタムエラーを有効にするためにWeb設定を更新する方法を教えてくれるエラーページが表示されます。これは、私がcustomErrorsのオプションについてMSDNで読んだものとは異なります。 – QueueHammer

答えて

0

これは複数の問題がありました。まず、サーバー上で2つのレベルのエラー処理が行われていたことです。

IISには第1レベルがあります。 IISにエラーが発生すると、エラーページを使用して問題をリレーしたり隠したりします。

第2レベルはASPランタイムにあります。ページにエラーがあると、スクリプトはWeb configがそれを行うように設定されているので、「oops」ページに委任することができます。

aspが "oops"ページにリダイレクトされなかったり、そのページの場所が正しくない場合、IISはエラーを処理します。リダイレクトしない場合、500レベルのエラーがスローされます。 "oops"ページの場所が間違っていると、404がスローされます。

これは私の問題で、これが処理されていて、IISとWeb設定が同じページを指し示していたためデバッグしていましたやや難しい。

最後に私は自分の問題を解決しました。その最初のものは、リダイレクトを処理しているwebconfigとの相対パスであり、〜/は間違って使用されていました。

0

~/oops.htmlを試しましたか?

+0

から私が知っている〜はwww.mysite.comを意味するので、ファイルがwww.mysite.com/myappfolder/oopsにあるときはwww.mysite.com/oops.htmlと解釈されます。html – QueueHammer

+1

〜を使用している場合は、ルート+仮想パスが存在する場合にレンダリングしていることを意味します。 〜/は、仮想フォルダのApp_Domain内で/ myappfolderが呼び出された場合にレンダリングされます。そのフォルダ内に上記のweb.configはありますか? – djsolid

0

web.configのcustomErrors要素は、ASP.NETランタイムによって監視されるリソースにのみ適用されます。既定では、イメージやHTMLファイルなどの静的リソースはIISによって処理され、ASP.NETランタイムには渡されません。

+0

これは良い点です。 – QueueHammer

関連する問題