.htaccessとは何か
投稿日:2015年11月21日
最終更新日:
.htaccessはなにしてるの?
- Apacheを使用しているWEBサーバーにおいて、ディレクトリ単位で設定を行うことができる設定ファイル。
- コレがあることにより、httpd.confを弄れないWEBサイト管理人レベルでもApacheの設定の一部を変更できる。
- IPアドレスやリモートホストによるアクセス制御、エラーメッセージのカスタマイズ、MIMEタイプの設定…など、行える設定は多岐にわたる(サーバー管理人の意向(httpd.confの記述)によって可能な設定が決められている)。
- 余談だが、ファイル名先頭のドットは、Unix系OS(サーバーでよく使われる)における隠しファイルの意味。
.htaccessはなんのために使う?
用途は多々ありますが、一般的なレンタルサーバーを利用するWEBサイト管理人レベルであれば、厄介なBotのアクセス規制や秘密のページのアクセス制御、404ページのカスタマイズなどが想定されます。サーバー管理者の意向で、.htaccessで制御可能な設定が決められます。
例えばあるディレクトリをまるまるテスト用途で使用する場合は、そこには自分以外は入れないようにしたい場合があります。そんな時には、そのディレクトリに.htaccessを配置すれば一発でアクセス制御ができます。記述例は以下(#以降はコメントです) [VIM] order deny,allow deny from all #一旦全部アクセス拒否 allow from 自分のIPアドレス #自分のIPアドレスを指定してアクセスを許可する [/VIM] こんな感じの.htaccessを配置するだけで、そのディレクトリとそのサブディレクトリまで規制できます。.htaccessはディレクトリごとに設置できるので、サブディレクトリに設置してそこだけアクセスを許可する、などの芸当も可能です。
記述する上での注意
.htaccessを作成するときは、文字コードを「UTF-8 BOMなし」に設定し、改行コードを「LF」に設定する必要があります。また、ファイルの最終行に空行を入れる必要もあります。この3点に注意して作成しましょう。
Windows環境で作成する場合は、間違ってもメモ帳を利用してはいけません。メモ帳で作成すると、UTF-8を使用してももれなくBOMがついてしまうので、メモ帳以外のサードパーティ製テキストエディタをインストールして使用する必要があります。当方ではTera PadやNotepad++などをおすすめしています。テキストエディタ比較記事もあるので、こちらを参照いただけると幸いです。
サーバーにはアスキーモードで転送し、.htaccessファイルのパーミッションは644(場合によっては604)にします。サーバー管理人から指示がある場合はそれに従ってください。記述ミスは500エラーの元になるので、くれぐれも注意して作成してください。