2011-08-04 12 views
3

web.configを使用して404およびその他のエラーページを設定するにはどうすればよいですか?私はweb.configで次のブロックを追加しようとしました。Asp.net - Web.Config - カスタムエラー

 <customErrors defaultRedirect="Forms/Errors/Page_404.aspx" mode="On"> 
    <error statusCode="500" redirect="servererror.aspx" /> 
     <error statusCode="403" redirect="NoAccess.htm" /> 
     <error statusCode="404" redirect="Forms/Errors/Page_404.aspx" /> 
    </customErrors> 

しかし、まだIIS7のデフォルトエラーページが表示されています。これを修正するには?

答えて

9

私はそれを自分で解決しました。以下のようにweb.configに別のセクションを追加して、IIS 7/7.5で動作させる必要があります。 IIS 6の場合、私の質問で言及したものがあります。

<system.webServer> 
... 
<httpErrors errorMode="Custom" > 
<remove statusCode="403" subStatusCode="-1" /> 
<remove statusCode="404" subStatusCode="-1" /> 
<remove statusCode="500" subStatusCode="-1" /> 
<error statusCode="404" path="/404.aspx" responseMode="Redirect" /> 
<error statusCode="403" path="/403.aspx" responseMode="Redirect" /> 
<error statusCode="500" path="/500.aspx" responseMode="Redirect" />   
</httpErrors> 
... 
</system.webServer> 

お返事いただいた皆様に感謝します。

1

は、パスの前に、 "〜/" を追加してみてください、あなたのWeb.configのsystem.webServerセクションに

<system.webServer> 
    <httpErrors existingResponse="PassThrough" /> 
</system.webServer> 
0

これを入れてみてください:

<customErrors defaultRedirect="~/Forms/Errors/Page_404.aspx" mode="On"> 
<error statusCode="500" redirect="~/servererror.aspx" /> 
    <error statusCode="403" redirect="~/NoAccess.htm" /> 
    <error statusCode="404" redirect="~/Forms/Errors/Page_404.aspx" /> 
</customErrors> 
+0

Visual Studioの内部サーバーではそのまま動作しますが、IISで実行すると問題は解決します。具体的な理由は何ですか? – Riz

0

使用しているように見えますそこに相対的な道があります。それが問題だろうか?

Fiddlerを使用して、ブラウザがリダイレクトされているページを確認してください。

+0

Visual Studioの内部サーバーではそのまま動作しますが、IISで実行すると問題は解決します。具体的な理由は何ですか? – Riz