読者です 読者をやめる 読者になる 読者になる

apache 一部のサブディレクトリだけを認証なしに設定する

ルートディレクトリに対してBasic認証をかけている場合に、サブディレクトリの一部を認証なしでも通すように設定する方法です。
LocationMatchを使って認証が必要ないLocationにSatisfy Anyを指定します。対象のLocationだけ認証なしにしても、当然ながらそこで使われている画像ファイルなんかは認証を要求されるので、そのページで使っている画像ファイルなんかも認証の対象外に設定します。

    <LocationMatch "/no_auth">
        # All access controls and authentication are disabled
        # in this directory
        Satisfy Any
        Allow from all
    </LocationMatch>

    <LocationMatch "/images">
        # All access controls and authentication are disabled
        # in this directory
        Satisfy Any
        Allow from all
    </LocationMatch>

    <Location />
        AuthType Basic
        AuthName "Please Enter User/Password"
        
    ...
    </Location>

Source:
http://stackoverflow.com/questions/2641646/how-to-accomplish-authtype-none-in-apache-2-2
http://httpd.apache.org/docs/2.2/mod/core.html#require