.htaccessとは?新入社員でも3分で分かる図解つき!
2022.12.08
.htaccessとは、リダイレクトやアクセス制限といったWebサーバーの設定変更を簡易的に行うためのファイルです。
サーバーが野球のバッターだとすると、.htaccessとは監督がベンチから出すサインのようなモノ。
本来であればサーバー管理者が担当する領域ですから、敬遠されている方も多いようです。
そこで今回は、.htaccessの役割・何ができるのか・よくある質問についてまとめてみました。
.htaccessシリーズの関連記事
.htaccessとは?
.htaccess(ドットエイチティーアクセス)とは、サイト運営者側がWebサーバーに特定の働きをさせるための設定ファイルです。
会社で例えるなら平社員であるサーバーに対する「上司からの指示書」、野球に例えるならバッターであるサーバーに対する「監督からのサイン」にあたります。
詳しくは後述しますが、.htaccessが使用できるのは「Apache」に対応しているサーバーだけです。
より理解が深まるよう、下記の3点についても把握しておきましょう。
.htaccessとは?
- ページが表示される仕組みとは?
- .htaccessの役割とは?
- .htaccessの必要性とは?
ページが表示される仕組みとは?
まずは、検索ユーザーがアクセスしてからWebページが表示されるまでの仕組みについて、おさらいしてみましょう。
ページ表示の仕組み
- 検索ユーザーが、ブラウザ上でページにアクセスする
- ブラウザがサーバーに対し「○○ページを表示させたい!」と要求する
- サーバーからブラウザへ、「ページ情報」と「表示する条件」が渡される
- ブラウザが「サーバーから指示された条件」に合わせてページを表示する
つまり、サーバーはブラウザ(Google Chrome、Microsoft Edgeなど)の要求によって、Webページを表示しているのです。
ちなみに、ブラウザはサーバーに要求を出す役割を担っているため「クライアント」とも呼ばれています。
.htaccessの役割とは?
前述した通り、サーバーはブラウザからのリクエストに応じる形でWebページを表示します。
ポイントは、ブラウザからの要求に対してサーバーから提供されるのは「ページ情報」だけでなく、「表示する条件」も含まれているという点です。
表示条件の違い
- そのまま表示する
- 別のページを表示する
- 条件つきで表示する
1番にあてはまる場合は、特別な作業は必要ありません。
一方、2番または3番で表示させたい時には、.htaccessを使ってサーバーに指示を出す必要があります。
つまり、.htaccessの役割とはサーバーをコントロールし、特定の条件で表示されるように設定変更を行うことなのです。
.htaccessの必要性とは?
そもそも、サーバーに干渉する作業はやり方を誤るとサイト全体に影響しかねないため、誰もが気軽に行える訳ではありません。
そこで登場するのが、サーバーの設定を簡単に変更できる「.htaccess」です。
命令文を記載した.htaccessファイルをアップデートすることで、サーバー管理者以外でもリダイレクト設定などが可能になります。
.htaccessにできること
ここからは、.htaccessを使うと具体的に何ができるのか、代表的な5つの用途についてご紹介します。
.htaccessの用途
- リダイレクト:違うURLへ転送できる
- BASIC認証:サイトにパスワードを設定できる
- アクセス制限:IPなどで閲覧者を制限できる
- カスタム404:オリジナルのエラーページを表示できる
- 404にする:ページをなかったことにできる
リダイレクト:違うURLへ転送できる
.htaccessの最も代表的な用途として挙げられるのが「リダイレクト設定」です。
旧ページから新ページへと閲覧者をスムーズに誘導したい時に設定する自動転送処理、と言った方がイメージしやすいかもしれません。
例えば、.htaccessを使ったリダイレクト設定は下記のようなケースで使います。
リダイレクトはこんな時に使う!
- ホームページの移転:旧ドメイン→新ドメインへ転送
- サイトリニューアル:旧URL→新URLへ転送
- SSL化:http→httpsへ転送
- URLの正規化:www「あり・なし」の統一
- 複数ページを1ページに統合する:index.html「あり・なし」の統一
「リダイレクト用.htaccessの書き方が知りたい!」「リダイレクトの種類や使い分ける基準が知りたい!」という方は、それぞれ下記の記事を参照して下さい。
関連記事
BASIC認証:サイトにパスワードを設定できる
BASIC認証とは、Web上に公開はするものの、「ユーザー名(ID)」と「パスワード」を持っている人しか閲覧できないよう、特定のページや階層にアクセス制限をかけたい時に使う認証方式の1つです。
後述するアクセス制限の一種、と言った方がイメージしやすいかもしれません。
不特定多数からアクセスされないよう、ネット上で「鍵」をかけておきたい時に役立ちます。
BASIC認証はこんな時に使う!
- 会員だけに限定ページを公開したい
- クライアントにコンテンツの出来栄えを確認して欲しい
- 交渉中の新規クライアントに、サンプルとして見て欲しい
- 共同で作業している外部スタッフだけに見て欲しい
- 機能の動作確認をしたい
- 特定範囲からアンケートを取って、UIやUXの改善点を探したい
- コーディングやデザインなどの課題を、オンラインで提出したい
.htaccessでBASIC認証の設定を行う際は、「.htaccessファイル」に加えてユーザー名とパスワードを保存する「.htpasswdファイル」を作成する必要があります。
BASIC認証の具体的な設定方法については、本記事にて詳しく解説しておりますのでご一読ください。
関連記事
アクセス制限:IPなどで閲覧者を制限できる
アクセス制限とは、IPアドレス・ホスト名・ドメインなどを元に閲覧の「認可・拒否」を指定する仕組みです。
BASIC認証は、IDとパスワードでしか閲覧の範囲を限定できません。
これに対し、同じセキュリティ対策でも閲覧範囲を限定する条件を選ぶことができるのがアクセス制限の特徴です。
ちなみに、IPアドレスによってアクセスを許可する、または拒否する方法は別名「IP制限」と言います。
アクセス制限はこんな時に使う!
- 海外からの不正アクセスを防ぐため、日本のIPだけに閲覧を許可したい
- 管理画面だけは、会社(オフィス)からしかアクセスできないようにしたい
- 電子印鑑やクラウド請求書作成ソフトなどを社外秘にしたい
- 勤怠管理の一環として、リモートワークを自宅のみに限定したい
なお、アクセス制限については下記の記事で詳しく解説しております。
関連記事
カスタム404:オリジナルのエラーページを表示できる
出典:Google
検索時のスペルミス・リンク切れ・すでに削除されている、などの理由で表示される404(Not Found)エラーページ。
通常は「このページは存在しません。」という無機質な画面が表示されますが、.htaccessを使えばオリジナルの404エラーページを表示させることができるのです。
カスタム404エラーページの作成はこんな時に使う!
- せっかくアクセスしてくれたユーザーを逃したくない
- ページは削除済みだが、せめてサイトのTOPページに誘導したい
- 無機質なデフォルト画面で悪印象を与えたくない
- 「サイト自体が存在しないのでは?」と誤解されたくない
- 「このサイトは危険かも…」と不安にさせたくない
カスタム404は403や500エラー対策としても併用できるので、作成方法をマスターしておいて損はありません。
なお、カスタム404の設定方法は基本的にリダイレクトと同じです。
記述例については、本記事上部でご紹介しているシリーズ記事を参照して下さい。
404にする:ページをなかったことにできる
存在しているページやディレクトリを意図的に404(Not Found)にする、つまりコンテンツの存在を隠したい時にも.htaccessを使います。
404化はこんな時に使う!
- トラフィックが不調ではあるものの、閉鎖かリライトか迷っている
- 閲覧者から「情報が間違っているのでは?」と指摘され、裏付けが取れるまで非公開にしたい
- 今は必要ないが、来年度のキャンペーン時に再利用したい
【Q&A】.htaccessのよくある質問(全般編)
では最後に、よくある質問をQ&A形式でご紹介しましょう。
ここではリダイレクトやBASIC認証といった用途別ではなく、.htaccess全般に関する疑問点について解説します。
よくある質問
- .htaccessの利用条件とは?
- .htaccessは誰でも使える?
- 設定場所や記述をミスするとどうなる?
- 自動の作成ツールはある?
.htaccessの利用条件とは?
結論から言うと、.htaccessは「Apache」とういうオープンソース型のソフトウェアに対応しているWebサーバーにしか使えません。
契約中のレンタルサーバーが.htaccessに対応しているか、あらかじめ確認が必要です。
.htaccessが使えるサーバー
- ロリポップ
- Xserver
- お名前.comレンタルサーバー
- さくらのレンタルサーバ
.htaccessは誰でも使える?
確かに.htaccessはWebサーバーの設定変更を簡易的に行えるのが最大のメリットです。
ただし、大前提としてサーバー内に最初から存在している.htaccessファイル、または新たに設置する箇所へのアクセス権限を持っているのは、基本的にサーバー管理者だけ。
つまり、本来Webサーバーの設定に干渉する作業は、それなりの知識・経験値を備えたサーバー管理者だけが行うのが理想的なのです。
何らかの理由でアクセス権を持っていないスタッフが担当する場合は、あらかじめサーバー管理者の許可をもらっておきましょう。
設定場所や記述をミスするとどうなる?
.htaccessファイルは書き直しができますが、不完全な状態でアップロードした後の障害は軽視できません。
特に設定場所を間違えたり重要な箇所を上書きしたりすると、サイト全体が表示されなくなることもあるのです。
.htaccessを設定する際は、必ず下記の3点を厳守しましょう。
厳守ルール
- バックアップを取っておく
- 書き方ルールを順守する
- 設置場所を間違えない
自動の作成ツールはある?
「自力でコードを書く自信がない…」という方は、簡単・便利な自動生成ツールを使ってみるのも1つの方法です。
例えば、「.htaccess Editor」ならリダイレクトやアクセス制限などの種類を選択し、必要事項を入力するだけで自動生成してくれます。
まとめ
.htaccessは、アクセス権限を持っていない方でも簡易的にサーバーをコントロールできるのが最大の魅力です。
リダイレクトやアクセス制限など幅広い用途で役立ちますので、Webサイトの制作・運営に携わっている方なら、習得しておくべき基本スキルと言っても良いでしょう。
ただし、サーバー管理者に許可を得ておくのはもちろん、バックアップなどのリスク管理を徹底したうえで実行するのが鉄則です。
関連