4

次のディレクトリ階層があります

-root_folder
   .htaccess
   -sub_folder
       .htaccess

sub_folder の .htaccess ファイルの内容:

AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/test/passwd.dav
Require user test

root_folder以下を含む.htaccess

Satisfy any
Order deny,allow
Deny from all
Allow from env=ALLOWED
SetEnvIfNoCase Request_URI "^/+webdav/root_folder/?$" ALLOWED

を使用していることに注意してくださいWebDav

で設定してい/etc/apache2/conf.d/webdavます。ファイルには次のものが含まれます。

Alias /webdav /home/user/projects/test/public
<Location /webdav/>
    Order Allow,Deny
    Allow from #list of ips here
    DAV On
    PassengerEnabled off
    LimitXMLRequestBody 0
    Options Indexes FollowSymLinks
</Location>

localhost/webdav/root_folder/問題は、ブラウザを使用してフォルダにアクセスしようとするとsub_folder、表示されないことです。しかし、Require user some_userディレクティブを削除するsub_folderと、リストに表示されます。ディレクティブが有効になっているlocalhost/webdav/root_folder/sub_folder/ときに入力しようとすると、ログインとパスワードの入力を求められ、正しい資格情報を入力すればすべて問題ありません。Require user

ディレクトリ内のすべてを一覧表示すると同時に、require user sub_folders 内の .htaccess ファイルのディレクティブを使用してそれらへのアクセスを制御することは可能ですか?

4

1 に答える 1

2

あなたの root_folder (私はそれがあなたのものだと思います$DOCUMENT_ROOT) で、次の内容で .htaccess ファイルを作成します:

SetEnvIfNoCase Request_URI "^/*$" ALLOWED

Satisfy        any
Order          deny,allow
Deny from      all
Allow from     env=ALLOWED

root_folder$DOCUMENT_ROOT でない場合は、次を使用します。

SetEnvIfNoCase Request_URI "^/+root_folder/?$" ALLOWED

最初の行として。

于 2012-05-22T22:01:41.913 に答える