WEBサイトを運営するにあたって、使用頻度も多い「.htaccess」ファイルについて解説します。
サイト制作のなかでも、リダイレクト設定する場合にも必要となり、
基本的に、動作を各ディレクトリ(フォルダ)に、命令を書くことで使用されています。
.htaccess とは
.htaccess(ドット・エイチ・ティー・アクセス)
htaccessファイルに記述することで、さまざまな設定を行うことができます。
ディレクトリ(フォルダ)単位で、「設置、及び、設定」が行えて、
Webサーバーの、基本的な動作を制御する為のファイルになります。
簡単に説明すると、サーバーの挙動を決定するための設定ファイル
サイトを公開する為のファイル内に、設定を変更・追加をすることができ、
主に、「アクセス制限やリダイレクト設定」など
個別に制御することも、サイト全体に対して制御する事も出来るということになります!
- 設置した「.htaccess」ファイルの配下のディレクトリに影響を与えます。
- ルートディレクトリに「.htaccess」ファイルを設置した場合は、全てのフォルダに影響を与えます。
「.htaccess」ファイルは、最も利用されているWEBサーバーの「Apache」(アパッチ)に対応していて、レンタルサーバーの機能として「.htaccess」ファイルの設定が可能になっています。
近年(2019年当たりから)は、高速で軽量の「nginxやLiteSpeed」といったWebサーバーが採用されつつあります。が、「.htaccess」ファイルも利用できるように対応されています。
ただ、すべてのレンタルサーバーで利用できるとは限らず、
例えば、Windows系のサーバーでは「.htaccess」ファイルが利用できません。
また、「Apache」(アパッチ)が採用されていても、
ごくまれれすが、「.htaccess」が利用できない場合もありますので確認が必要となります。
「Apache」とは、オープンソースのソフトウェアで、Webサイトを公開するのに当たって、必要なソフトウェアになる多くのレンタルサーバーに採用されています。
「.htaccess」ファイルの作成
「.htaccess」ファイルの作成方法
WordPressを利用している場合など、予め「.htaccess」ファイルが設置されている場合は、
そのファイルに、追加したい部分を記述することになります。
新規に作成する場合は「.htaccess」ファイルは、プレーンテキスト(テキストファイル)のため、Windowsに標準搭載されている「メモ帳」でも作成することが可能です。
ただ、WEB制作する方は、高性能なテキストエディタで作成することがほとんどで、
「サクラエディタ」は、高機能で無料で使えるテキストエディタとして定番です!
ファイル作成に当たってのルール
- ファイル名は、「.htaccess」(.txtなどの拡張子はつけない)こと
- 文字コードは、「UTF-8」(BOMなし)にする
- 改行コードは、「LF」にする
- 文章の最後には、必ず改行を入れること
※設定は、基本的にファイルを保存する際に指定できます。
Windowsでは、「.」を拡張子として認識する為、保存する際には、「.txt」で保存されます
ですので、Windows上では、仮に「a.htaccess」とした名前で作成して、
FTPにアップロードした後に、「.htaccess」に名前を変更することで回避できます。
作成した「.htaccess」ファイルは、FTPソフトなどを使ってサーバーにアップロードします。
ファイルに問題がなければ、設定した内容が反映されることになります
「.htaccess」ファイルの記述に関する注意点
記述が間違ってしまうと、サイト自体に大きな影響を与えてしまう!「.htaccess」ファイルの作成は簡単にできます。が、但し、「.htaccess」ファイルは、その配下にある全てのディレクトリに影響を与えてしまうことになるので、
記述する際は十分に注意が必要になり、
ファイルを編集する際は、必ずバックアップをとることも重要となります!
- 「.htaccess」ファイルに、文法等の誤りがあると、Server Error が発生して、アクセスができなくなります。
- 編集する際には、必ず最後に改行(空白行)が必要になります。
- サーバ管理者が許可していない命令に関しては、文法誤りのときと同様な Error となります。
- パーミッション(属性)が、「604」若しくは「644」にします。
- 日本語を含めることも可能な場合もありますが、トラブル(文字化けが発生)となる可能性もあります。
- テキスト形式(プレーンテキスト)で保存します。
「.htaccess」で何ができる?活用方法は
「.htaccess」ファイルを利用することで、どのような制御が可能になるのか?
代表的な利用方法として簡単に紹介します。また、設定方法についても解説します!
特定のページにアクセスがあった時に、別のページにリダイレクト(転送)させる!
URLの正規化
「WWW」「index.php」の有り無しや「HTTPからHTTPS化」にする場合
サイトのリニューアル・サイトの引っ越し
サイトのページやURLに変更があった場合に、「301 Redirect(301リダイレクト)」する場合
ディレクトリ配下のコンテンツに対して、アクセス制限をかけることができます。
要するに、アクセスした人に対してIDとパスワードの認証情報の入力を求めることができます。
特定の「ホスト、IP」からのアクセスを許可もしくは制限することができます。
削除したページなど、アクセスしたURIと一致するものが見つからないと「404 Not Found」表示され、その404ページをカスタマイズしたものを表示させることができます。
Webサイトの高速化の一環として、ブラウザキャッシュを設定して表示速度をアップさせます。
通信速度を向上させ、サーバーのリクエスト負荷を軽減する事ができます。
Apacheの「mod_expires」モジュールを利用してキャッシュする方法となり、
「mod_expires」 は、キャッシュの処理期限を定義するモジュールとなります
まとめ
WEBサイトを作成するにともない、「.htaccess」ファイルの使用頻度も多くなりますが、
割合、初心者さんの方も使用しているケースが多いです。
コツさえ分かれ、設定自体はシンプルな側面もありますし、検索すれば、割と解決できる内容のサイトも多くあります。
ただ、ちょっとした間違いで、「500 Internal Server Error」になったりもしますので、バックアップをとることでトラブルも最小限に収められますね!