エラーが発生した場合、私のウェブサイトはカスタムHTMLページを表示するように設定されています。これは、IISとASP.NET開発サーバーの両方でうまく動作します。ただし、アプリケーションをWindows Azureにデプロイするとすぐに、非ASP.NET-URLに対して404ではなくHTTP 500が取得されます。httpErrors configセクションがWindows Azureで動作しない
これは、関連するweb.configファイル・セクションがどのように見えるかです:
<httpErrors errorMode="Custom">
<clear />
<error statusCode="404" path="/Public/Error404.html" responseMode="ExecuteURL" />
</httpErrors>
<customErrors defaultRedirect="/Public/Error.html" mode="On">
<error redirect="/Public/Error404.html" statusCode="404" />
</customErrors>
(.aspxの上で終わるURLへの適用)customErrors
セクションでは、正常に動作します。しかし、httpErrors
セクションはありません。 80 - - 65.52.128.172 HTTP/1.1
2012-02-10午後01時30分07秒W3SVC1273337584 RD00155D3A1439 10.61.70.39 GET /asdfdsaafds:紺碧のIISは、ブラウザに500を送信したとしても、それは404を記録します Mozilla/4.0 +(互換性+ MSIE + 8.0 + Windows + NT + 6.1; + WOW64; + Trident/4.0; + SLCC2; +。NET + CLR + 2.0.50727; +。NET + CLR + 3.5.30729 。; + NET + CLR + 3.0.30729; + NET4.0C; + NET4.0E) - - 940af2dbd9df4924b87a13878752aee3.cloudapp.net 404ローカル0 2 222 457 218
、私はHTTP 500.19を得ますさらに詳しい情報:
関連する ページの構成データが無効であるため、要求されたページにアクセスできません。
コンフィグエラーロック違反
238:結果は通常、スタンドアロンIISについての私に言ったように、ロック違反をグーグルで
<httpErrors errorMode="Custom" defaultPath="/Public/Error.html" existingResponse="Replace" defaultResponseMode="ExecuteURL">
は、あまりにも多くの私を助けていませんでした。 Windowsのイベントログにはエラーはありません。
私はAzureとスタンドアロンIISの両方で任意の404に対してError404.html
を表示したいと思います。どんな助けも素晴らしいだろう。
私は自分の質問を編集しました。デプロイされています(aspx-404用に表示されます)が、ローカルでは動作しません。とにかくありがとう、これは私にもう少し洞察力を与えたことを確認します。 –
私は私の答えも更新しました。 –
ありがとうございました!私は根本的なIIS自体に触れることを期待していなかったので、これらのヒントを愚かに無視しました。今、私が見つけなければならないのは、これらの変更を更なるアップデートや再デプロイメントで維持する方法です。 –