22時45分18秒 [Web関連]
ウェブサーバのとあるディレクトリ内にindex.htmlみたいなファイルが存在しない場合、(サーバの設定によっては)ディレクトリ内のファイルを一覧するHTMLが返されます。このとき、HTTPレスポンスヘッダは何が返されてるのかな?と思って調べてみたら、「200」でした。
普通にそういうページがあるものとして扱われているのですね。
「ページは存在しないけど、エラーではなくリストを返してる」という状況なので「404」(Not Found)でも返してるのかな?と思ったんだけど、そうじゃなかったようで。
まあ、ファイルはなくてもディレクトリは存在してるんだから「404」を返すんじゃあおかしいか。
Apacheでは、.htaccessファイルとかに
と書けば、ファイル一覧ではなく、「403」エラー(Forbidden)が返されるようになります。
でも、「さくらインターネット」のレンタルサーバだと、Optionsディレクティブが使えないので、この記述はできないのですよね。書くと「500」エラー(Internal Server Error)になっちゃいます。
その場合でも、ダミーのファイルを置くなりダミーにリダイレクトするなりしてファイル一覧を表示させない方法はあるので問題はないんですが。でも、「403」エラーを返したいと思った場合、それを返すことはできないんだろうか?
……「403」エラーを返すCGIを作って、そこにリダイレクトさせれば可能かな。面倒だけど。(^_^;)
この日記へのコメントはお気軽に! コメント数:0件
コメント数: 0件