2013.09.10

「.htaccessを利用したアクセス制限」 – No.2 – 基本的な使い方

「.htaccess」についての備忘録です。

その第2回

基本的な使い方

.htaccessを使うとさまざまなことができるが、まずは基本的な扱い方を覚えておこう。テキストエディタを開いて、設定を書き込んでファイルを保存する。このとき、「.htaccess」という名前のファイルをつくろうとするとMacやWindows上では「.」以前がないファイルはできないため、「.htaccess.txt」とリネームされたり、ファイルが消えて見えなくなる場合がある。このため、まずローカルでは「a.htaccess」など仮の名前で消えないファイルをつくり、FTPでサーバにアップロードしたあとに名前を変更するのが一般的だ【1】。FTPでつくったファイルが見えなくなったら、「FFFTP」であれば表示メニュー→“.で始まるファイルを表示”を選択するなどしてFTPクライアントの設定を確認しよう。パーミッションはデフォルトの「644」(もしくは604。Webサーバの設定によって異なる)のままでよい。

次に.htaccessの適用範囲だが、たとえば【2】のように.htaccessを置いた場合、同じ階層にあるファイルやディレクトリとそれ以下のすべてのものに適用され、ここでは「index.html」とcss、img、jsの3つのディレクトリ、およびその下にあるディレクトリとファイルが影響を受ける。ちなみに、.htaccessを置いた階層より下の階層に.htaccessを置くこともできる。その場合、親ディレクトリの.htaccessの設定を引き継ぎ、これに子ディレクトリの.htaccessの設定が追加・変更され、優先順位としては子ディレクトリの.htaccessのほうが上になる。

記述の際には、スペースは半角を用い、全角スペースはエラーが出るので使わない。また、半角「#」を行頭につければコメントも付けられる【3】。「#」をまちがって行中や行末につけるとエラーになるので注意しよう。重要な注意点がある。まず、「#」のコメント表記も含め.htaccessは記述を少しでもまちがうと、影響下にあるファイルやディレクトリがすべて「Internal Server Error(内部サーバエラー)」になる。さらに、これによってアクセスの多いサイトならすぐにエラーログが大量にたまり、サーバに著しい負荷をかけて深刻な事態を招くことがあるので慎重に扱おう。

【1】

.htaccess_01

.htaccessは仮の名前でテキストファイルをつくって、FTPでサーバに上げてから「.htaccess」にする

【2】

.htaccess_02

.htaccessを置いた同じ階層以下のディレクトリとファイルがその影響を受ける

【3】

.htaccess_04

「#」を行頭につけるとコメントアウトできる。行頭以外につけるとエラーになるので注意

引用元: 第3回「.htaccessを利用したアクセス制限」 – MdN Design Interactive.