SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

HTTP404エラーに対応したASP.NETのリダイレクタ作成

サイト来訪者の不快さを軽減するリダイレクトの設定

ダウンロード RedirectorHandler.zip (3.2 KB)

ASP.NETで、ジェネリックハンドラファイル(.ashx)を作成しよう

 まずはASP.NETの新しい項目の追加で、ジェネリックハンドラを作成します。

 ここでは「RedirectorHandler.ashx」と命名しました。ここで作成したひな形のコードのProcessRequestに、後ほど処理を記述していきます。

自動生成されたジェネリックハンドラ(C#)
public void ProcessRequest (HttpContext context) {
    context.Response.ContentType = "text/plain";
    context.Response.Write("Hello World");
}
自動生成されたジェネリックハンドラ(VB)
Public Sub ProcessRequest(ByVal context As HttpContext) _
    Implements IHttpHandler.ProcessRequest
    context.Response.ContentType = "text/plain"
    context.Response.Write("Hello World")
End Sub

IISにジェネリックハンドラを結びつけよう

 次にファイルが見つからなかった場合の関連付けを行います。WindowsとIISのバージョンによって若干操作が違うので、バージョン別に記述します。

Windows XP(IIS 5.1)

 IISマネージャの、testredirectアプリケーションプロパティを開き、[カスタムエラー]タブを選択します。

 [404]を選択し、[プロパティの編集]ボタンを押します。

 メッセージの種類を[URL]に変更し、URLを「/testredirect/RedirectorHandler.ashx」に設定します。

 同様に[403;14]も同じ設定をします。

Windows Server 2003(IIS 6)

 IISマネージャの、testredirectアプリケーションプロパティを開き、[カスタムエラー]タブを選択します。

 [404]を選択し、[編集]ボタンを押します。

 メッセージの種類を[URL]に変更し、URLを「/testredirect/RedirectorHandler.ashx」に設定します。

 同様に[403;14]も同じ設定をします。

Windows Vista(IIS 7)の場合

 IISマネージャのtestredirectをポイントし、センターペインの[エラーページ]を選択します。

 [404]を選択し、右ペインの[編集]を選択します。

 パスの種類を[URLの実行]に変更し、パスを「/testredirect/RedirectorHandler.ashx」に変更します。

 同様に[403]も設定しましょう。

 ローカルでテストを行う場合、そのままの設定では詳細なエラー画面が出てしまいます。一時的に[機能設定の編集]からカスタム エラー ページを設定しておきましょう。

次のページ
web.configにジェネリックハンドラを結びつけよう

この記事は参考になりましたか?

特集記事連載記事一覧

もっと読む

この記事の著者

中 博俊(ナカ ヒロトシ)

大阪でフリーのソフトウェアエンジニア兼テクニカルライターとして日々新技術で楽しんでいる。MSMVP for C# ブログ:http://blogs.wankuma.com/naka/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/1340 2007/05/30 08:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー