0

以下の例として、Asp.net 4.0/vb.netでルーティングを使用しています。

rotas.MapPageRoute("test", "test/{detail}/{id}", "~/test/test.aspx")

web.configでcustomErrorsを設定しました:

<customErrors defaultRedirect="ErrorPage.htm" mode="On">
    <error statusCode="404" redirect="Error404.htm"/>
</customErrors>

ルーティングを使用せずに無効なURLが送信された場合、404エラーページが正しく表示されます。例:site/defaul2.aspx。

しかし、site / test2 / anything / 123のようなルーティングを使用して無効なURLを入力すると、404カスタムページ(Error404.htm)ではなく標準のasp.net404エラーページが表示されます。

4

1 に答える 1

0

IIS7 を使用している場合は、カスタム エラー ページも指定する必要がある場合があります。

サイトをクリックして [エラー ページ] (IIS リスト内) を選択し、エントリを 404 および 500 に変更します。

ここに画像の説明を入力

これは IIS6 では必要な手順ではありませんでしたが、II6 では URL ルーティングにワイルドカード ハンドラーが必要だったので、ASP.NET は非ネイティブ ファイル (つまり、jpg、png、pdf など) の要求を処理しました。IIS7 は既定でこれを行いますが、私の経験から、これらのアセットの ASP.NET エラー ページにはプッシュしません。そのため、これらのエラー ページを明示的に設定する必要があります。

于 2012-08-29T03:25:16.047 に答える