.htaccess
.htaccessとは、WebサーバーのApacheにおける、サーバーのディレクトリごとの設定情報を記しておくためのファイルのことである。分散設定ファイルと形容されることもある。
.htaccessに記述された設定情報は、.htaccess自体が設置されたディレクトリと、その下位階層に位置したサブディレクトリに対して有効となる。設定可能な内容としては、パスワードの設定(Basic認証)、特定のホストコンピュータからのアクセスの拒否、Webページのリダイレクトなどを挙げることができる。
Apacheにおけるメインの設定は、httpd.confと呼ばれる設定ファイルによって行われる。httpd.confは、Webサーバーの管理者(スーパーユーザー)によってのみ編集や更新が可能である。httpd.confの設定によって、.htaccessで設定できる内容を制限することもできる。
.htaccessを必要以上に設けることは、管理上の情報の分散を招くなどのデメリットをもたらす場合があるとされる。一部のホスティングサービスでは、ルートディレクトリには直接接触せずに任意の設定変更を実現するものとして、.htaccessの使用が認められている。
.htaccess
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/03/25 21:21 UTC 版)
.htaccess(ドットエイチティーアクセス)とは、Apacheを用いたWebサーバにおいて、ディレクトリ単位で設置及び設定を行える設定ファイルである。
Apacheではhttpd.confという設定ファイルでApacheの設定を行うが、Webサーバの要となる設定ファイルであるため、Webサーバの管理者でないと設定を変更することができない。.htaccessはhttpd.confで.htaccessの利用を許可している場合、Webサーバ管理者のみならずウェブサイトの管理者レベルでApacheの一部設定を行えるようにしたものである。
.htaccessで行える設定は全てhttpd.confで行うことができ、パフォーマンスやセキュリティの観点からそれが推奨されている[1]が、実際はサーバー管理者も.htaccessを使うケースが多い。
.htaccessを特定のディレクトリに設置すると、.htaccess内に記述された内容が設置されたディレクトリとその下層のディレクトリに対して適用される。また、下層ディレクトリの設定が上層ディレクトリと設定が矛盾した場合は下層ディレクトリ側の設定が優先される。
ファイル名の先頭にあるドットはUnix系のオペレーティングシステムにおいて「隠しファイル」を意味しており、「ファイルタイトルが存在しない.htaccessという拡張子だけのファイル」という意味ではない。
用途
httpd.confに記述することができる設定のうちの多くは.htaccessにも記述することができる。その名前からアクセス制御が中心と思われがちだが、実際は関係ない。以下は主要なものを記述しているが、このほかにも様々な使われ方がある。
- IDとパスワードによる制限 - Basic認証やDigest認証を用いて特定のIDとパスワードを用いてログインしないと閲覧できないようにする。
- IPアドレスとリモートホストによる制限 - 特定のIPアドレスとリモートホストのアクセスのみを許可、あるいは拒否を行えるようにする。
- エラーメッセージのカスタマイズ - IDとパスワードが違う、アクセスが禁止されている、ページが見つからない、サーバーでエラーが生じたといったエラーメッセージを独自のものに差し替えることができる。
- MIMEタイプの指定 - 拡張子(JPEG、zipなど)に応じて、Content-Type応答ヘッダーを設定する。ウェブサーバーのデフォルトと異なる設定が必要な場合に使用する。
脚注
外部リンク
- htaccessのページへのリンク