.htaccessファイルを隠す方法

「.htaccess」ファイルはその性質上、誰からでも閲覧可能なディレクトリに設置しなければなりません。ただし、「.htaccess」はそのサーバの設定を記述するためのものと言っても過言ではないため、その内容が閲覧されるとセキュリティに不安が残り、気持ち悪いですよね。「.htaccess」ファイルを設置した際には、まずはブラウザから「.htaccess」が閲覧できるかどうかを試してみましょう。もし見れるようでしたら、「.htaccess」ファイルに以下の一文を付け加えて下さい。

AddHandler cgi-script htaccess

これは「htaccess」と言う拡張子のファイルは「CGIの実行ファイル」としなさい、ということです(AddHandler リファレンスを参照)。CGI実行ファイルは、当然見ることができませんので、「.htaccess」ファイルも閲覧不可能と言うことになります。

ただ、この方法は正規の方法では無いと言いますか、普通はこんなことしません。一般的に多く用いられる方法は以下に示す方法なのですが、これは処理が重たい方法であるため、サーバ側で許可を行っていない場合もあります。一般的に用いられていない特殊な方法とは言え、別に裏技を使用しているわけではありません。特に理由が無いならば、Addhandlerを使用した例の方法をお奨めします。

では、一般に用いられる方法ですが、下記の構文を「.htaccess」ファイルに記述します。

<Files ~ "^\.ht">
    order allow,deny
    deny from all
    satisfy all
</Files>

これは、「.htから始まるファイル名のファイルについては、全てのホストからの接続を拒否しなさい」ということになっています(Files リファレンス/order リファレンス/allow リファレンス/deny リファレンス/satisfy リファレンスを参照)。こうしておくことにより、「.htaccess」ファイルや、「.htpasswd」ファイルの閲覧を拒否設定することができるというわけです。