5

ファイルサーバーがあり、 mod_autoindex を使用してファイルをサーバーします。特定の人だけがファイルにアクセスできるように、htaccess にユーザー名とパスワードを設定しています。別のユーザーを htpasswd に追加しましたが、そのユーザーに一部のファイル/フォルダーへのアクセスのみを許可したいと考えています。

ここに私のhtaccessファイルがあります:

AuthType Basic
AuthName "restricted"
AuthUserFile E:\\path\\to\\.htpasswd

<Files "filesForAnyUser\\*">
  Require valid-user
</Files>

<Files "*">
Require user admin
</Files>

私は何か間違ったことをしていると確信していますが、これに関する適切なドキュメントが見つかりません。

4

2 に答える 2

5

「filesForAnyUser」というフォルダと管理者専用のファイルがあるフォルダがある場合、2 つの htaccess ファイルを作成する必要があります。「filesForAnyUser」の 1 つ:

AuthType Basic
AuthName "restricted"
AuthUserFile E:\\path\\to\\.htpasswd
Require valid-user

そして、他のディレクトリに1つ:

AuthType Basic
AuthName "restricted"
AuthUserFile E:\\path\\to\\.htpasswd
Require user admin
于 2013-09-26T20:30:55.930 に答える
2

だからここに他の人のための私の最終的な解決策があります.

以下をルートフォルダーに配置します。

AuthType Basic
AuthName "restricted"
AuthUserFile E:\\path\\to\\.htpasswd
Require user admin

admin と user1 がファイルにアクセスできる任意のフォルダーに以下を配置します。

AuthType Basic
AuthName "restricted"
AuthUserFile E:\\path\\to\\.htpasswd
Require user admin user1 #users separated by space or "Require valid-user" if all users

user1 に特定のファイルへのアクセスのみを許可する場合は、次を使用できます<FilesMatch>

AuthType Basic
AuthName "restricted"
AuthUserFile E:\\path\\to\\.htpasswd
Require user admin
<FilesMatch "^(doc1.pdf|doc2.txt|doc3.docx)$">
  Require user admin user1 #or valid-user
</FilesMatch>

これにより、そのフォルダー内のすべてのファイルへの管理者アクセスが許可されますが、user1 はにリストされているファイルへのアクセスのみが許可されます。<FilesMatch>

注: のファイルは<FilesMatch>、現在のディレクトリと任意のサブ ディレクトリ用です。現在のディレクトリのみに制限する方法がわかりません。

于 2013-09-28T20:37:11.463 に答える