hiramas’s blog

気になったことをちゃんと調べてみようってブログ

『.htaccess』とは?

リダイレクトやら、Basic認証を掛けるときによく使う『.htaccess

フロントエンジニアであれば一度は目にしたことがあると思いますが、

いざ、必要となるタイミングで、『.htaccess』がなんなのか?

手持ちのヒントが足りない状態で出会うことが多いと思うんです。

HTMLチックでもなければCSSっぽくもない。PHPJavaScriptとも違う。

そんな『.htaccess』の正体に迫っていきます。

 

 

本記事の対象

.htaccess』わかんない。
の原因は大きく二つあると思います。

1.よく出てくる"^"とかの正規表現がわからない
2.そもそも『.htaccess』ってなに?

本記事で対象とするのは「2.そもそも『.htaccess』ってなに?」って人です。

 正規表現はそれこそもうたくさん…

www.mnet.ne.jp

.htaccess』ってなんなの?

.htaccess』はざっくり、Apacheサーバーの設定を書くところです。

もう少し詳しく書くと、Apacheと呼ばれるHTTPサーバーの機能の一種で、
サーバーの管理者がサーバー全体に行う設定とは別に、
「ここのディレクトリは特別な処理をしたい。」
というときに使われるファイルです。
そのため、「分散設定ファイル」と呼ばれています。

実は『.htaccess』という名前もただデフォルトでそう設定されているだけで、サーバー全体への設定をいじると名前を変更できたりします。

 

よく使う`RewriteCond`とかは何なの?

Apacheサーバーの設定項目の一つです。

設定項目は「ディレクティブ」と呼ばれ、

RewriteCond

RewriteRule

なども、ディレクティブです。

それぞれの詳しい使い方は公式ドキュメントが優秀です。

httpd.apache.org

 

<IfModule hoge>

もディレクティブの一種で、コア機能以外を使うときにそのモジュールがロードされているかの条件分岐を行うディレクティブです。

比較的よく使いますが、普通に使う分には必要ないよねっていうのが公式の見解です。

httpd.apache.org