.htaccessとは何か

当ブログのWordPressのスパム対策やらなにやらで登場する「.htaccess」について適当に解説しようと思います。

.htaccessはなにしてるの?

  • Apacheを使用しているWEBサーバーにおいて、ディレクトリ単位で設定を行うことができる設定ファイル。
  • コレがあることにより、httpd.confを弄れないWEBサイト管理人レベルでもApacheの設定の一部を変更できる。
  • IPアドレスやリモートホストによるアクセス制御、エラーメッセージのカスタマイズ、MIMEタイプの設定…など、行える設定は多岐にわたる(サーバー管理人の意向(httpd.confの記述)によって可能な設定が決められている)。
  • 余談だが、ファイル名先頭のドットは、Unix系OS(サーバーでよく使われる)における隠しファイルの意味。

.htaccessはなんのために使う?

用途は多々ありますが、一般的なレンタルサーバーを利用するWEBサイト管理人レベルであれば、厄介なBotのアクセス規制や秘密のページのアクセス制御、404ページのカスタマイズなどが想定されます。サーバー管理者の意向で、.htaccessで制御可能な設定が決められます。

例えばあるディレクトリをまるまるテスト用途で使用する場合は、そこには自分以外は入れないようにしたい場合があります。そんな時には、そのディレクトリに.htaccessを配置すれば一発でアクセス制御ができます。記述例は以下(#以降はコメントです)

こんな感じの.htaccessを配置するだけで、そのディレクトリとそのサブディレクトリまで規制できます。.htaccessはディレクトリごとに設置できるので、サブディレクトリに設置してそこだけアクセスを許可する、などの芸当も可能です。

記述する上での注意

.htaccessを作成するときは、文字コードを「UTF-8 BOMなし」に設定し、改行コードを「LF」に設定する必要があります。また、ファイルの最終行に空行を入れる必要もあります。この3点に注意して作成しましょう。

Windows環境で作成する場合は、間違ってもメモ帳を利用してはいけません。メモ帳で作成すると、UTF-8を使用してももれなくBOMがついてしまうので、メモ帳以外のサードパーティ製テキストエディタをインストールして使用する必要があります。当方ではTera PadやNotepad++などをおすすめしています。テキストエディタ比較記事もあるので、こちらを参照いただけると幸いです。

サーバーにはアスキーモードで転送し、.htaccessファイルのパーミッションは644(場合によっては604)にします。サーバー管理人から指示がある場合はそれに従ってください。記述ミスは500エラーの元になるので、くれぐれも注意して作成してください。

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

Bitcoin:

Monacoin:

Litecoin: