Apache HTTP Serverの設定ファイルの一つで、このファイル以下のディレクトリにあるファイルが参照された際、どのような動作をするかを定義するもの。
Webページを作る際にほぼ必須のファイルとなっているが、どういうわけかMicrosoft WindowsのGUI環境ではピリオドで始まるファイル名は作れない。このため、作成する時はとりあえずファイル名を "_htaccess" などとしておき、MS-DOSプロンプトを使い、"ren _htaccess .htaccess" などとする必要がある。
コラム(.htaccess のサンプル)
Options Includes execCGI
AddType text/x-server-parsed-html .html
AddType application/x-httpd-cgi .cgi
AddType audio/midi mid
AddType image/png .png
AddType application/mac-binhex40 .hqx
AddType application/x-httpd-imap .map
コラム(.htaccess で定義できる主な内容)
(1)MIME タイプの定義
Addtype MIMEタイプ 拡張子(ピリオド不要)の順で設定する.
・CGI を使うとき.
AddType application/x-httpd-cgi .cgi
または,
AddHandler cgi-script .cgi
・.htm や .html でも SSI を使うとき.
AddType text/x-server-parsed-html html
AddType text/x-server-parsed-html htm
または,
AddType text/html .html
AddHandler server-parsed .html
AddType text/html .htm
AddHandler server-parsed .htm
・MIDIファイルをBGMとして流すとき.
AddType audio/midi mid
(2)デフォルトで読み込むファイル名の設定
・http://www.example.com/~foo/ など, ファイル名を省略してアク
セスされた場合, どのファイル名をデフォルトで読み込ませるかを
設定する. ファイル名を複数指定すると左から順に読み込ませる.
DirectoryIndex ファイル名 ファイル名 …
(3)特定ホスト名のアクセス許可/禁止
・allow, deny の順番はどちらからでもよいが, order の後の順番を
間違えると正常に動作しない. ホスト名は IP のほうが良い場合も
ある. ダイアルアップ接続の場合は "ppp1234.example.com" のよ
うになることが多いので, このような場合は ".example.com" と
指定する. ホスト名はいくつ書いても良い. うまく動かない場合は
プロバイダーの設定で禁止されているので諦める.
・特定ホストのアクセスを「禁止」する場合.
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 禁止するホスト名
</Limit>
・特定ホストのみアクセスを「許可」する場合.
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 許可するホスト名
</Limit>
(4)パスワードによるアクセス制限
・パスワードを用いてアクセスを制限する場合も .htaccess を使う.
AuthUserFile パスワードファイルのフルパス名
AuthGroupFile /dev/null
AuthName "By passwd"
AuthType Basic
<Limit GET POST PUT>
require valid-user
</limit>
と .htaccess に設定した上で, プロンプトから htpasswd -c パ
スワードファイル名 ユーザー名(既にパスワードファイルがあるな
ら htpasswd パスワードファイル名 ユーザー名)とするとパスワー
ドを訊いてくるので, そこでパスワードを入れることで, パスワー
ドによるアクセス制限が可能となる.
(5)ディレクトリインデックス
許可 Options +Indexes
禁止 Options -Indexes
関連するリンク
http://japache.infoscience.co.jp/japanese/manual/関連する用語
Apache HTTP Server
Webサーバー
ファイル
ディレクトリ
Webページ
Microsoft Windows
GUI
環境
MS-DOS
デフォルト