AN HTTPD ゲストブック/コメント集(2003年10月9日21:58)


中田昭雄 nakata@st.rim.or.jp 2003/10/11 07:15

Daiさん、
>これは逆に言うと、 .www_browsableが存在しないのにindex.htmlが表示されて
>しまっている、ということになりませんか?

デフォルトインデックスファイルを表示するのに .www_browasable の有無は関係ありません。
index.html を置いてディレクトリリストを表示させないようにする、という話と混同しているのではないでしょうか(?)。

>) だいいち、404エラーメッセージを"The directory listing is NOT permitted."
>) などとするのは(いくら英語として正しくても)おかしいでしょう。

というのはメッセージファイルの中身の話です。メッセージファイルのパスの話ではありません。
404エラーというのは「ファイルがない(ファイル未検出)」ということなので、メッセージファイルの中身を勝手に「ディレクトリリストが許可されていない」というメッセージにしてしまってはまずいでしょう、という意味です。


ronson ronson 2003/10/11 05:57

Dai 2003/10/11 03:52 様

> そのディレクトリに存在するindex.htmlの中身がそうなっていました。
> これは逆に言うと、 .www_browsableが存在しないのにindex.htmlが表示されて
> しまっている、ということになりませんか?

これはいたって正常に思えるんですが違うんでしょうか。
index.htmlがあればそれが表示されるのは当然のように思えるんですが・・・
(論点が違っていたら申し訳ありません)


Dai httpd at d-itasak.com 2003/10/11 03:52

) AN HTTPD は "Error 404 The directory listing is permitted." などという
) メッセージは出しませんから、Daiさんが作ったファイルでしょう。

そのディレクトリに存在するindex.htmlの中身がそうなっていました。
これは逆に言うと、 .www_browsableが存在しないのにindex.htmlが表示されて
しまっている、ということになりませんか?

) だいいち、404エラーメッセージを"The directory listing is NOT permitted."
) などとするのは(いくら英語として正しくても)おかしいでしょう。

これは、httpdをインストールしたディレクトリにあるmessagesというサブディレクトリに
存在する"404.html"というファイルで、これがオプション(一般)の
インデックスタブのエラーメッセージを個別に対応するときのhtmlファイルとして
設定されています。このオプションは、ここ数年いじった記憶がなく、
かつ、つい最近OSを再インストールしたらエイリアスが全部消えていて一個ずつ
思い出しては再設定する破目になりそのときに何故消えたのか調べたら
オプション設定は全部レジストリに保存されているということを初めて知り、
それじゃ仕方ないやと納得したんですが、この"httpd/messages/404.html"という
ファイルのオプション設定は初めからしてあって自分が設定しなおしたものでは
ないので、それがhttpdのデフォルトと思っていましたが違うんですか?


中田昭雄 nakata@st.rim.or.jp 2003/10/10 20:37

Dai さん、
AN HTTPD は "Error 404 The directory listing is permitted." などというメッセージは出しませんから、Daiさんが作ったファイルでしょう。

だいいち、404エラーメッセージを"The directory listing is NOT permitted." などとするのは(いくら英語として正しくても)おかしいでしょう。 403エラーはどのようにしていますか?

まず、エラーメッセージファイルは使わないようにして、どのような時にどのようなエラーになるのかをログを見て整理した方がよいと思います。 また、自分の意図したエラーメッセージファイルが使われているのかどうかはエラーログを見て確認してください。


Dai httpd at d-itasak.com 2003/10/09 22:09

前半の答えは、index.htmlがあるかないか、ですね。


Dai httpd at d-itasak.com 2003/10/09 21:58

ディレクトリのインデックス表示に関してです。
インデックスリストを表示する、.www_browsableがある場合のみ表示、という設定にし
ています。エイリアスに指定してあるディレクトリにアクセスして
みると、インデックスリストが表示されます。.www_browsableがあるからです。ここに
はファイルの他にいくつかサブディレクトリがあります。いずれにも.www_browsableは
ありません。また、いずれもエイリアスに個別に登録することはしていません。ここで
サブディレクトリにアクセス(IE6で)してみると、"You are not authorized to view
this page"という「IEがエラー403を受け取ったときに表示するページ」が表示される
ものと、"Error 404 The directory listing is permitted."とだけ書かれたページが
(ブラウザとしては正常に)表示されるものがあります。この違いはどこから来るので
しょうか。

また、この"Error 404 The directory listing is permitted."というのは誰が出して
いるんでしょうか。httpd/messages/404.htmlは"The directory listing is NOT
permitted."とNOTが入って「意味的に正しい」英語になっています。オプション設定の
表示/インデックス->メッセージで、エラー404のhttpd/messages/404.htmlをチェック
してもしなくても結果は同じです。

v1.42kです。