.htaccess
ファイルで使用されます。クライアントのホスト名、IP
アドレスや 環境変数として取得された、その他のリクエストの特徴に基づいて
アクセス制御を行なうことができます。
ホストによるアクセス制限とパスワードによる認証を同時に
行なうことが可能です。その場合、その二つの制限の関係を指定するために
一般的には、アクセス制限ディレクティブはすべてのアクセスメソッド
(GET
, PUT
, POST
など)
に適用されます。そして、ほとんどの場合これが望ましい動作です。
しかし、
このディレクティブの最初の引数は常に from
です。
それに続く引数は三つの違った形式があります。Allow from
all
が指定されていれば、すべてのホストにアクセスを許可し、
アクセス制限は下で説明されているように、
この文字列に合うか、これで終わる名前のホストのアクセスが許可されます。
各部分が完全に合うものだけに適用されますので、上の例は
foo.apache.org
にはマッチしますが、
fooapache.org
にはマッチしません。
この設定をすると、Apache は
アクセスを許可する IP アドレスです。
サブネットの制限用の、IP アドレスの最初の一つから三つまでのバイトです。
ネットワーク a.b.c.d とネットマスク w.x.y.z です。 より細粒度のサブネット制限用です。
ネットマスクが nnn の上位ビットが 1 となっているものからなること以外は前のものと同じです。
注: 最後の三つの例はまったく同じホストに合います。
IPv6 アドレスと IPv6 のサブネットは以下のように指定できます:
Allow from env=env-variable
が指定されていると、環境変数 env-variable
が存在した場合にリクエストはアクセスを許可されます。サーバは
User-Agent
(ブラウザの種類)、Referer
や他の HTTP リクエストのヘッダフィールドなどに基づいて
アクセス許可をするために使うことができます。
この場合、user-agent の文字列が KnockKnock/2.0
で始まるブラウザのみがアクセスを許可され、
他のものはアクセスを拒否されます。
このディレクティブはホスト名、IP
アドレス、環境変数に基づいてサーバへのアクセスを制限します。
Deny,Allow
Allow,Deny
Mutual-failure
Order Allow,Deny
と同じ効果を持ち、
その設定の方が好ましいために非推奨となっています。キーワードはコンマで分離することだけが可能です。
間に空白があってはいけません。どの場合でも、
以下の例では、apache.org ドメインのすべてのホストはアクセスを許可されます。 他のすべてのホストはアクセスを拒否されます。
次の例では、foo.apache.org サブドメインにあるホスト以外の、 apache.org ドメインのすべてのホストがアクセスを許可されます。 apache.org ドメインでないホストは、デフォルトの状態がアクセス拒否のため、 サーバへのアクセスを拒否されます。
一方、上の例の Deny,Allow
に変わっていれば、すべのホストにアクセスが許可されます。
これは、設定ファイル中の実際の順番に関わらず、
Allow from apache.org
が最後に評価されて、
Deny from foo.apache.org
を上書きするからです。
apache.org
ドメインにないホストも、デフォルトの状態が allow
に変化するために、アクセスを許可されます。
はデフォルトのアクセス状態が deny になるため、
/www
ディレクトリへのすべてのアクセスを拒否します。
.htaccess
ファイルの