【IIS】IISにてディレクトリやページが存在しない場合に、404エラーを出さずに任意のページにジャンプさせる方法を教えてください。


apacheで言うとErrorDocumentのような動作です。
ErrorDocument 404 http://www.hogehoge.com/

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2006/09/19 18:48:10
  • 終了:2006/09/26 13:05:34

回答(2件)

id:GreatAmigo No.1

GreatAmigo回答回数18ベストアンサー獲得回数12006/09/19 18:58:30

ポイント10pt

エラーページをカスタマイズすればどうでしょうか?

IISのサイトのプロパティ⇒カスタムエラー タブで設定できます。

id:llusall No.2

llusall回答回数505ベストアンサー獲得回数612006/09/19 20:39:43

ポイント60pt

カスタムエラーページの設定をします

1.設定したい仮想フォルダのプロパティを開きます。

2.[カスタムエラー]タブを指定します。

3.[HTTPエラー]404を指定し、[プロパティの編集]ボタンを押します。

4.メッセージの種類を[ファイル]、ファイル欄には、表示したいファイルを指定します。

以上です。

※注意

 404で表示するファイルですが、512byte 以下ですと、IE既定の404ページが表示されるので注意が必要です。

id:tenshiks

上記2回答の方法は既に知っていまして、実践しているのですが、ステータスコードはやはり404を返します。

404エラーのページを変更したいのではなく、ステータスコード404を返してもらいたくないのです。

ErrorDocumentはリダイレクトコードを返すので実質404は返りません。



コメント有難う御座います。

IISの標準機能ではできないと分かっただけでも有益ですので。

ISAPIフィルタは導入済みでしたので、ちょっと試行錯誤してみます。

2006/09/26 13:04:44
  • id:llusall
    そう言う事でしたか。
    見当はずれですみませんでした。

    でしたら、

    ISAPIフィルタ
    http://program.station.ez-net.jp/special/vc/isapi/filter/url.asp

    に頼る方法しかないように思えます。
    (具体的なサンプルはないのですが)

    404に該当するリクエストかどうかの判断をどのようにするかが鍵になります。
  • id:llusall
    >ISAPIフィルタは導入済みでしたので・・・
    おぉ、それでは心強いですね。

    リクエストを返す直前あたりをフックして、
    ステータスを書き換えれば良いですよね。
    技術情報が乏しく面倒ですが、

    きっと、できると思います。
    がんばってください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません