開発サーバぐらいしか出くわさないシチュエーションだと思いますが…。
Index of に表示されるディレクトリが足りない!
という、すこし、ふしぎ。な状況に出くわしたのでちょっとメモ。
【Apache】 Index of.. ディレクトリ一覧
とくに変わった設定をしてないかぎり、公開フォルダに、index.html のインデックスファイルをおかなかった時には、Index of が表示されるor Forbiddenになるとおもいます。
今回はIndex of を見たかったので、見ます。
実際のファイル・ディレクトリの構成
このときIndex ofを表示させると
はい、出ました。全角ファイルが化けているのは別の話なのでいいのです。よく見ると…、あれ?フォルダが1つ足りません。
dero が居るのに、見当たりません(´д`)
パーミッションを777に変えてみたり、グループをApacheにしてみたり、いろいろ変化を加えても状態は変化せず…、出てるディレクトリと出ないディレクトリの差がわからん…。
もちろん http://testserver/nande/dero に直接アクセスすると応答があります。
うーん、開発上、特に支障はないけど、めっちゃ気になるやん、また余計なことに時間を割いてしまうのか…と現実逃避しようとしていると原因が判明。
原因は下層フォルダのBASIC認証だった
↑の段落で、「応答があります」と書いたのがミソなのですが(^_^;、testserver/nande/dero にアクセスするとBASIC認証が表示されます。
わたしは、開発サーバ上のものをクライアントさんに確認してもらうために一部のフォルダのみ公開するのに、BASIC認証を使っています。
もちろん上層にもBASIC認証を掛けてあるのですが、今回表示されないderoにはクライアントごとに適当なIDとパスが設定されており、上層とは違う組み合わせとなっていました。
上層と同じ(既に通っている) BASIC認証を dero セットすると…
ちゃんと表示されました( ´▽`)
Index ofが表示されるときに、そのユーザでBASIC認証が通らないディレクトリは表示されない、という結論…でいいのだろうか?
上層のhtaccess が下層にどこまでも影響を及ぼすのはさすがに知っていましたが、Index of の表示するのに現状での下層の表示可否を見てるとは知らなかったです。このへんも設定項目あるのかもしれませんが、そこまでは追わないw
そうそう引っ掛かるケースではないけれど
1時間前のの自分への備忘録(^_^;解釈の違いがあれば、ツッコミおまちしています。