Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

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

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

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/05/30 08:00

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

URLをミスタイプしたときに出る404エラー。このエラーを出すより、より近いインデックスファイルに誘導するための、ASP.NETでの対応方法を見てみましょう。

目次

はじめに

 Webへのアクセスでページがない場合や、URLをミスタイプしたときに出る404エラー。このエラーを出すより、より近いインデックスファイルに誘導してあげる方が実際に閲覧している人に親切ではありませんか?

 今回はその対応方法を見てみましょう。

対象読者

  • Webサーバ管理者
  • Webアプリケーション開発者
  • Webサイト作成者

必要環境

  • Windows XP+IIS 5.1+.NET 2.0
  • Windows Server 2003+IIS 6.0+ASP.NET
  • Windows Vista+IIS 7.0+ASP.NET

 IISバージョンごとに設定しないといけない項目が微妙に変化するので、それらをサポートしますが、ASP.NETが動くところまでの設定は事前に行っておいてください。

  • 開発テストを行う場合:
  • Visual Studio 2005 SP1(Windows Vistaで行う場合には+Update for Windows Vista)

目的

 存在しないURLを指定したときに下記のような画面を見たことはありませんか?

 このようなページは残念ながら閲覧しようとしたユーザーに何の利益ももたらしません。IISではカスタマイズされたHTTP404エラーを表示します。

 しかし結局ファイルが見つからないのは変わらないため、ユーザーにメリットがない点は同じです。

 一度でも作成したファイルは、どこかでリンクされている可能性があります。それらのリンクを自サイト内の適切なページへジャンプさせるために、IIS上でリダイレクト先を設定することができますが、確実に設定できればよいのですが忘れてしまうこともあります。

 他にも、例えば次のようなURLをタイプしてユーザーがWebサイトに訪問してきたと仮定します。

http://localhost/Naka/HttpRedirector/1.aspx

 ここで、「1.aspx」というファイルが存在しない場合、

http://localhost/Naka/HttpRedirector/

 にジャンプして欲しいと思いませんか? また、この「HttpRedirector」というフォルダがなければ、

http://localhost/Naka/

 にジャンプして欲しいと思いませんか? それでは解決策を作成しましょう。

IISでアプリケーションを設定しよう

 今回は「testredirect」というアプリケーションを設定し、それを利用することにします。

 ASP.NETのバージョンが2.0.50727になっていることを確認しておいてください。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 中 博俊(ナカ ヒロトシ)

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

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5