.htaccess リファレンス
AddHandler handler-name extension extension...
この構文の意味は、「extension」と言う拡張子のファイルを呼び出した際の動作は「handler-name」としなさい、となっています(拡張子の前の「.」は記述不要)。あらかじめ組み込まれている「handler-name」は下記のようになっています。
- send-as-is:HTTPヘッダーを含めて、ファイルをそのまま送信する
- cgi-script:CGI スクリプトとして実行する
- imap-file:イメージマップ定義ファイル
- server-info:サーバーの設定を取得する
- server-parsed:SSI ファイルとして、サーバの解析を受ける
- server-status:サーバのステータス
- type-map:コンテンツネゴシエーション用に解析される、タイプマップ
つまり、AddHandler構文により、指定の拡張子を任意のハンドラに結びつけることができるというわけです。
allow from host
allow from に続けて、接続を許可するホストを指定します。host は以下のように指定します。
- allow from all:全てのホストのアクセスを許可
- allow from ホスト名:指定したホストからのアクセスを許可(後方一致)
- allow from IPアドレス:指定した IP アドレスからのアクセスを許可(前方一致)
- allow from ネットアドレス/ネットマスク:ネットマスクを用いた指定を行う
IPアドレス、ネットマスクについては「IPアドレスの話」を参照。
AuthGroupFile filename
ユーザー認証のための、グループファイルを絶対パスで指定します。「require group」を宣言したときのみ必要となり、特に指定が無い場合は「/dev/null」を指定します。設置するグループファイルの各行は、グループ名: user-ID user-ID... と指定します。
AuthName String
AuthType type
ユーザー認証機構の種別を指定します。type には、Basic(ベーシック認証)と Digest(MD5 ダイジェスト認証)のいずれかを選択します。「Digest」の場合、よりセキュリティは高いのですが、対応していないブラウザ(IE4.0、NN4.Xなど)があったり、使用しているWebサーバによっては、必要なモジュール(mod_autu_digest)が組み込まれてなく利用できなかったりとまだまだ難があります。
AuthUserFile filename
ユーザー認証のための、ユーザ一覧ファイルを絶対パスで指定します。慣用的に、このファイル名には「.htpasswd」が使われることが多いのですが、絶対これでなければならないわけではありません。基本的に、DocumentRootより上に設置し、パーミッションは「604」で設定することをお奨めします。「.htpasswd」ファイルの各行には、ユーザ名: password(暗号化)と記述します。暗号化したパスワードの生成には「Perl-Cryptテスト」をご利用下さい。
deny from host
deny from に続けて、接続を拒否するホストを指定します。host は以下のように指定します。
- deny from all:全てのホストのアクセスを拒否
- deny from ホスト名:指定したホストからのアクセスを拒否(後方一致)
- deny from IPアドレス:指定した IP アドレスからのアクセスを拒否(前方一致)
- deny from ネットアドレス/ネットマスク:ネットマスクを用いた指定を行う
IPアドレス、ネットマスクについては「IPアドレスの話」を参照。
DirectoryIndex filename filename ...
ファイル名が省略された形でのリクエストが来た際に、サーバが探すリソースを設定します。通常は、「index.html」に設定されています。いくつか指定した場合には、先に書かれたものが優先して探されます。全て見つからなかった場合、ディレクトリ一覧の表示が許可されていれば、ディレクトリのファイルリストを、許可されていなければ、403 Forbidden を返します。
ErrorDocument error-code document
<Files filename> 〜 </Files>
書き方には以下の二通りの方法があります。
<Files filename> … </Files>
<Files ~ "regex"> … </Files>
この構文は、<Files>〜</Files>
で囲まれた範囲の設定を「filename」で指定されたファイルについて適用する、と言う意味になっています。「filename」は完全ファイル名または、部分ファイル名で指定します。また、チルダを挿入することにより正規表現を使うこともできます。
Options [+|-]option [+|-]option ...
許可するディレクトリオプションを指定します。option に指定できるのは以下の通りです。option に、+ か - の記号がついているときは、標準設定からの差分を意味します。
- All:MultiViews を除きすべてのオプションを有効
- ExecCGI:CGI スクリプトの実行を可能
- FollowSymLinks:シンボリックリンクを有効
- Includes:SSI の利用を可能
- IncludesNOEXEC:SSI の利用を、制限付きで可能(#exec #include の使用は不可)
- Indexes:index.html がない場合に、ディレクトリ一覧を表示することを許可
- MultiViews:コンテンツネゴシエーションされたMultiViews 検索を許可
- None:すべてのオプションを無効
- SymLinksIfOwnerMatch:ファイル所有者に限り、シンボリックリンクを許可
order ordering
allow と deny の優先順位を決めます。ordering は以下を指定します。
- order deny,allow:deny が allow より優先
- order allow,deny:allow が deny より優先
- order mutual-failure:allow にはあるが deny には無いホストのアクセスを許可
require
ユーザー認証の際に、認証の機会を与えるユーザ又はグループを指定します。認証の機会を与えたメンバー以外は拒否されます。記述は以下のいずれかとなります。
require user user-id user-id ...
require group group-name group-name ...
require valid-user (全てのユーザ)