http://httpd.Apache.org/docs/trunk/mod/mod_authn_core.html#authtype は「AuthType None」について語っており、素晴らしい私がやらなければならないことの正確な例-残念ながら、2.3/2.4の新機能のようです。 2.2に同等の機能はありますか?
認証タイプNoneは認証を無効にします。認証が有効になっている場合、異なる認証タイプが指定されていない限り、通常は後続の各構成セクションに継承されます。認証済みセクションのサブセクションで認証が必要ない場合、認証タイプNoneを使用できます。次の例では、クライアントは認証なしで/ www/docs/publicディレクトリにアクセスできます。
<Directory /www/docs> AuthType Basic AuthName Documents AuthBasicProvider file AuthUserFile /usr/local/Apache/passwd/passwords Require valid-user </Directory> <Directory /www/docs/public> AuthType None Require all granted </Directory>
Apache 2.2では以下のようなものが動作します。 http://httpd.Apache.org/docs/2.2/mod/core.html#require から取得しました
<Directory /www/docs>
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/Apache/passwd/passwords
Require valid-user
</Directory>
<Directory /www/docs/public>
# All access controls and authentication are disabled
# in this directory
Satisfy Any
Allow from all
</Directory>
[すべてから許可]と[すべて満たす]を設定するだけです。
これは私のために働いた:
Alias /example "/opt/example.com"
<Directory "/opt/example.com">
Options None
AllowOverride None
Order allow,deny
Allow from all
Satisfy Any
</Directory>
<Directory /www/docs/public>
AuthType None
Require all granted
Satisfy Any
</Directory>
これは動作します
次の情報を追加したかっただけです。
Apache 2.2.22では、正しい順序で動作する必要があります。
ロケーション "/ foo/sub"の場合、これはうまくいきませんでした。
Satisfy Any
Allow from all
つまり、「/ foo/sub」の前に定義された場所「/ foo」からの認証がまだ適用されていました。
これは、場所「/ foo/sub」で機能します。
Allow from all
Satisfy Any
つまり「/ foo/sub」の前に定義された場所「/ foo」からの認証は破棄されました。
これはApache2.2で私のために働いた:
<Location /trac>
#....
AuthType Basic
AuthName "BLA domain"
AuthUserFile /etc/.passwd
Require valid-user
Allow from all
Satisfy Any
</Location>
あなたは正しいと思います:Apache 2.2ではサポートされていません。
https://issues.Apache.org/bugzilla/show_bug.cgi?id=10932 でatい回避策を試してみます
何かのようなもの:
<DirectoryMatch "^/www/docs/(?!public)">
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/Apache/passwd/passwords
Require valid-user
</Directory>
または
<DirectoryMatch "^/www/docs/[^p][^u][^b][^l][^i][^c]">
AuthType Basic
AuthName Documents
AuthBasicProvider file
AuthUserFile /usr/local/Apache/passwd/passwords
Require valid-user
</Directory>