Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

IISの「ページが見つかりません」ページをカスタマイズする

解説をスキップして操作方法を読む

デジタルアドバンテージ 島田 広道
2009/07/31
対象ソフトウェア
Windows 2000+IIS 5.0
Windows XP+IIS 5.1
Windows Server 2003+IIS 6.0
クライアントから指定されたURLのページが見つからないと、WebサーバはHTTPエラー・コード404のエラー・ページを返す。
IISの場合、標準の404エラー・ページはシンプルでナビゲーションもほとんどなく、ユーザー・フレンドリーとはいいがたい。
もっと使いやすいエラー・ページを独自に作成し、IISの設定を変更して標準のエラー・ページと差し替えればよい。

解説

 Webサイトの各ページをWebブラウザで閲覧中、URLを間違えて入力したり、あるいはサイト側で削除されたページを参照したりすると、通常はページが見つからなかったことを示すHTTPエラー・コード404(以下404エラー)のエラー・ページが表示される。IISの場合も、デフォルトでは次のようなエラー・ページを出力し、ページが見つからなかったことをクライアント(ユーザー)に伝える。

ページが見つからないときに表示されるIISのデフォルト・ページ
これはIIS 6.0(Windows Server 2003 R2)のサイトでURLを間違えて指定したときの例。このページは、IIS側(Webサーバ側)で生成していることに注意。クライアント側で勝手に(自動的に)表示しているわけではない。Webサーバへ接続はできているが、該当するページが見つからない場合には、このようなページが表示される。IIS標準の汎用的な作りなので、ナビゲーションが「戻る」とマイクロソフトのサポート情報ページだけなのは仕方のないことだが、ユーザーに親切とはいいがたい。

 このページでも、指定したURLではページが見つからなかったことは分かるのだが、いかんせんデザインは非常にシンプルで味気なく、サイトのトップページに戻るなどのナビゲーションもない。これはIIS標準のページゆえ、サイトの作りに依存しないように構成されているので仕方のない面もある。しかし、目的のページにたどり着けなかったユーザーに対して親切とはいいがたいのも確かだ。

 このような場合は、404エラーで表示されるエラー・ページを、もっと使いやすくカスタマイズすればよい。次の例のように、独自のエラー・ページを用意しているサイトは多い。

@ITでページが見つからなかったときに表示されるページ
トップページや各フォーラムのページにジャンプしてコンテンツの探索を続行できる。またエラーの直接的な原因が、@IT内で指定のページが見つからなかったことだと、はっきり分かる点も好ましい。こうしたインターネット上のサイトに限らず、社内ポータルのようなイントラネット・サイトでも、分かりやすいエラー・ページは有用だろう。

 IISではデフォルトのエラー・ページを独自に作成したエラー・ページに差し替えることが可能だ。ただ、そのエラー・ページの制作には注意すべき点もある。本稿では404エラーを対象に、エラー・ページを差し替える手順とページ制作上の注意点について解説する。

操作方法

独自のエラー・ページを作成する際の注意点

 IISでは、各HTTPエラー・コードに対して1つずつエラー・ページを割り当てる場合、それらは一般的な静的HTMLページとして作成できる(実装の難しい動的ページにする必要はない)。一般的なコンテンツのページと同様に外部スタイル・シートを参照したりJavaScriptを組み込んだりできるので、エラー・ページの体裁やナビゲーションを通常のコンテンツ・ページと揃えることで、より使いやすくすることも可能だ。

TIPS「.htmlファイルでSSIを利用する(Windows Server 2003/IIS 6.0編)
TIPS「.htmlファイルでSSIを利用する(Windows 2000 Server/IIS 5.0編)

 ただし、SSI(Server Side Include)機能が利用できない点には注意したい。筆者が試した限りでは、SSIの部分はまったく表示されなかった。例えばヘッダやフッタなど、コンテンツのページではSSIを利用して表示している部分をエラー・ページでも表示するには、そのSSIの記述内容をエラー・ページ中に手動で展開しておく必要がある。なお、エラー・ページ中のSSIを正しく処理(表示)できる設定もなくはないが、その場合はサーバからクライアントに返されるエラー・コードをエラー・ページで動的に制御しなければならず、手軽な静的HTMLページでは実装が難しい。

 対象サイトがインターネット上にある場合は、検索エンジンの検索対象から当該エラー・ページを外してもらうために、次の一文をこのエラー・ページのheadタグの部分に挿入しておくとよいだろう。

<meta name="robots" content="noindex,nofollow">

IISのプロパティでエラー・ページを差し替える

 エラー・ページを作成したら、IISの設定を変更してデフォルトのエラー・ページと差し替える。それにはまず、管理者アカウントでWindowsのコントロール・パネルから[管理ツール]−[インターネット インフォメーション サービス (IIS) マネージャ]を起動し、左ペインのツリーから、エラー・ページを差し替えたいWebサイトまたは仮想ディレクトリのプロパティを開く。Webサイト全体でエラー・ページを共通にするなら、Webサイトのプロパティを操作する。特定の仮想ディレクトリ以下でページが見つからなかったときに表示されるエラー・ページのみ差し替えるなら、その仮想ディレクトリのプロパティを操作する必要がある。なお、以下ではいずれもWindows Server 2003+IIS 6.0の画面を例に挙げているが、Windows 2000+IIS 5.0やWindows XP+IIS 5.1でも操作方法はほとんど変わらない(ボタン名などが若干異なる程度の違いしかない)。

エラー・ページを差し替えたいWebサイトまたは仮想ディレクトリのプロパティを開く
サイト全体に対してエラー・ページを差し替える場合は、対象のWebサイトを選んでプロパティを開く。特定の仮想ディレクトリに対して操作すると、その仮想ディレクトリ以下でページが見つからなかったときのエラー・ページのみ差し替えられる。
対象のWebサイトまたは仮想ディレクトリを選択する。
右クリックして表示されるメニューから、これを選ぶ。→

 エラー・ページに関する設定は[カスタム エラー]タブで変更する。

「カスタム エラー」タブでエラー・ページを差し替える
エラー・ページに関する設定は、このタブで変更する。404エラーに対しては、デフォルトで、%SystemRoot%\Help\iisHelp\commonフォルダ以下にあるIIS標準のエラー・ページが指定されている。これを、新たに作成した独自のエラー・ページに差し替える。
  これを選ぶ。
  これらも404エラーの一種なので、と同じ手順でエラー・ページに差し替える。
  これをクリックしてエラー・ページを変更する。→

 実際にエラー・ページを変更するには、「カスタム エラーの編集プロパティ」画面でそのページのHTMLファイルのパスを指定する。オリジナルのファイルはそのまま残しておき(さもないとOSのパッチ適用やアップグレードなどで上書きされてしまう可能性がある)、適当なフォルダを新規作成して、その中に作成したエラー・ページを保存して、そのパスを指定する。その際、エラー・ページを格納したフォルダには、サイト内のフォルダと同様にアクセス許可を与えること。

「カスタム エラーの編集プロパティ」画面でエラー・ページを指定する
ここでは、新たに作成した独自のエラー・ページのパスを設定する。
  [ファイル]を選ぶ。[既定]を選ぶと、IIS内蔵の1行メッセージ(404エラーの場合は「指定されたファイルが見つかりません。」「HTTP/1.1 404 Object Not Found」など)に差し替えられる。[URL]を選んでも差し替えは可能だが、ASPなどで制御しない限り、クライアントに返されるコードが404から200(エラーなし)に変わってしまう。つまりクライアントが404エラーを検知できなくなるので、お勧めできない。
  これをクリックして、用意した独自ページへのパスを指定する。
  設定が済んだら、これをクリックする。

 404.2および404.3も404エラーの一種なので、同様に設定を変更してエラー・ページを差し替える。

TIPS「Webアクセスをモニタする(IE/単体アプリ編)
TIPS「ネットワーク・モニタ3.1を使う(基本編)

 以上で設定は完了なので、クライアントのWebブラウザから、わざと間違ったURLを指定して新たなエラー・ページの表示を確認しよう。その際、サーバとクライアント間のHTTPヘッダのやりとりを監視し、HTTPエラー404が返されているか確認するとよいだろう。HTTPヘッダの監視には、ネットワーク・モニタやTIPS「Webアクセスをモニタする(IE/単体アプリ編)」で紹介しているieHTTPHeadersなどのツールが利用できる。End of Article

この記事と関連性の高い別の記事

このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。

generated byJigsaw
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間