【Apache】Index of で下層のBASIC認証が影響して 一部のディレクトリが表示されない?

開発サーバぐらいしか出くわさないシチュエーションだと思いますが…。

Index of に表示されるディレクトリが足りない!

という、すこし、ふしぎ。な状況に出くわしたのでちょっとメモ。

【Apache】 Index of.. ディレクトリ一覧

とくに変わった設定をしてないかぎり、公開フォルダに、index.html のインデックスファイルをおかなかった時には、Index of が表示されるor Forbiddenになるとおもいます。

今回はIndex of を見たかったので、見ます。

実際のファイル・ディレクトリの構成

2016-10-19_12h49_45

このときIndex ofを表示させると

2016-10-19_12h42_32

はい、出ました。全角ファイルが化けているのは別の話なのでいいのです。よく見ると…、あれ?フォルダが1つ足りません。

dero が居るのに、見当たりません(´д`)

2016-10-19_12h42_41

パーミッションを777に変えてみたり、グループをApacheにしてみたり、いろいろ変化を加えても状態は変化せず…、出てるディレクトリと出ないディレクトリの差がわからん…。

もちろん http://testserver/nande/dero に直接アクセスすると応答があります。

うーん、開発上、特に支障はないけど、めっちゃ気になるやん、また余計なことに時間を割いてしまうのか…と現実逃避しようとしていると原因が判明。

原因は下層フォルダのBASIC認証だった

↑の段落で、「応答があります」と書いたのがミソなのですが(^_^;、testserver/nande/dero にアクセスするとBASIC認証が表示されます。

2016-10-19_13h03_45

わたしは、開発サーバ上のものをクライアントさんに確認してもらうために一部のフォルダのみ公開するのに、BASIC認証を使っています。

もちろん上層にもBASIC認証を掛けてあるのですが、今回表示されないderoにはクライアントごとに適当なIDとパスが設定されており、上層とは違う組み合わせとなっていました。

上層と同じ(既に通っている) BASIC認証を dero セットすると…

2016-10-19_12h54_50

ちゃんと表示されました( ´▽`)

Index ofが表示されるときに、そのユーザでBASIC認証が通らないディレクトリは表示されない、という結論…でいいのだろうか?

上層のhtaccess が下層にどこまでも影響を及ぼすのはさすがに知っていましたが、Index of の表示するのに現状での下層の表示可否を見てるとは知らなかったです。このへんも設定項目あるのかもしれませんが、そこまでは追わないw

そうそう引っ掛かるケースではないけれど

1時間前のの自分への備忘録(^_^;解釈の違いがあれば、ツッコミおまちしています。

コメントを残す

メールアドレスが公開されることはありません。