web-dev-qa-db-ja.com

Apache2 Webルートへのアクセスを制限するが、サブフォルダーには許可する

パスワードでWebルートApacheテストサーバーへのアクセスを制限する必要があります(つまり http:// localhost )が、サブフォルダーへのアクセスは許可する(つまり: http:// localhost/testsite =)

.htpasswdと.htaccessを作成し、.htaccessをWebルート(http:// localhost)に配置したので、Webルートにアクセスしようとすると、ユーザーとパスを要求されますが、サブフォルダーでも要求されます(つまり:アクセス http:// localhost/testite

サブフォルダーではなく、Webルートでパスワードの入力を求められます。

それは可能ですか?

2
razor7

apacheにWebルートのパスワードを要求するように指示したようですが、Dell Apacheにnotを他のすべてのディレクトリに要求しましたか?

.htaccess内(またはhttpd.conf内で同じ仕事をします)に、次のようなものが含まれている可能性があります(.htaccessファイルにPastebinリンクを追加すると、正確に作成できます)。

<Directory "/www/private">
   Order allow,deny
   Allow from all

   Options Indexes
   AuthType Basic
   AuthName "Private Access"
   AuthUserFile "/www/private/.htpasswd"
   Require valid-user
</Directory>

しかし、それはそのパスの下のすべてのディレクトリにも適用されます。そうでない場合は、明示的にApacheに指示する必要があります。

<Directory "/var/private/subdir">
    Satisfy any
</Directory>

<DirectoryMatch "regex">で正規表現を使用してこれを一般化できますが、asdf.com/subdir/../式に対する保護を忘れないでください。

更新:ドキュメントの多くには既に<Directory[Match]>ディレクティブがありますが、基礎となるファイルシステムのシンボリックリンクの場合に役立つ<Location[Match]>ディレクティブもあることに言及する価値があります。

5
Huckle