400エラーがhtaccessの独自ページに遷移しない

NNでURLパラメータに空白を含めて、BadRequestを発生させました(Apache1.3.23では使えない。1.3.28はok)。 しかし、アクセスしたファイルと同階層のhtaccessファイルに書かれている、 独自ページへ遷移しません。

結構悩みましたが、そもそもリクエストが正しくない場合は、 実際にそのURLを見に行く前に弾かれるのではないのでしょうか?

404エラーは、実際にそのURLを叩いて存在しないことを確認、
403エラーは、実際にそのURLを見て、禁止されていることを確認、
500エラーは、実際にそのURLにあるスクリプト等を叩いて、実行中にエラーが発生。
そのため、htaccessファイルを見て、その設定を反映できるのでしょう。

逆に実際にURLを参照する前に弾かれるようなエラー、414の「長すぎるURI」などは、 htaccessでの設定は反映されないということです。 これらで独自ページを用意したい場合は、 apacheのhttpd.confに直接ErrorDocumentで指定すればよいみたいです。 場所はタグに囲まれていなければ、どこでもいいかと思います(Directoryの指定は無意味かと。階層別指定はムリ?)。 ただ、apacheが各種エラーをどのように処理しているか分からないので、 400エラーでもhtaccessを反映できるようなものが、あるかもしれません。

トラックバック