3

web.configを使用して404およびその他のエラーページを設定するにはどうすればよいですか?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のデフォルトのエラーページが表示されます。これを修正する方法は?

4

4 に答える 4

10

自分で解決しました。IIS 7 / 7.5で機能させるには、以下のようにweb.configに別のセクションを追加する必要があります。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>

答えてくれたみんなに感謝します。

于 2011-08-19T10:17:04.640 に答える
1

これをWeb.configのsystem.webServerセクションに配置してみてください

<system.webServer>
  <httpErrors existingResponse="PassThrough" />
</system.webServer>
于 2011-08-04T09:59:41.800 に答える
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>
于 2011-08-04T10:00:20.380 に答える
0

そこで相対パスを使用しているようです。それが問題でしょうか?

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

于 2011-08-04T10:01:25.700 に答える