ブログ初心者・Web制作の情報サイト
htaccessとは? 何に使うの?

htaccessとは? 何に使うの?

サーバーを使っていると .htaccessという言葉を聞いたことがあると思います。なんとなく設定ファイルということは分かるけど具体的な内容は分からないという人は多いのではないでしょうか?

この記事では .htaccessについての説明と使用用途を紹介します。

htaccessとは

htaccessは正確には .htaccess(ドット・エイチティ・アクセス)というファイル名です。

.htaccessとは「Apache」というWebサーバーソフトウェアが使用されているサーバーの設定を変更できる設定ファイルです。

レンタルサーバーでの使用がその例です。通常サーバーの管理者がサーバーの設定を変更するときは httpd.confファイルを使用します。しかしユーザーは管理者権限を持たないのでhttpd.confにはアクセスできません。

レンタルサーバーではサーバーのCPU・メモリ・ストレージといったリソースが複数に分割されそれをユーザーが使用しています。そこで.htaccessを使用し自分が使用しているディレクトリのみサーバー設定を変更するわけです。

.htaccessの特徴
  • Webサーバーソフトウェア「Apache」の設定ファイル
  • ディレクトリ単位でサーバーの設定を変更する
  • 管理者でなくても使用できる

■.htaccessとhttpd.confの違い

設定ファイル.htaccesshttpd.conf
編集権限ユーザーが使用可能管理者のみ設定可能
設定範囲ディレクトリ単位サーバー全体

.htaccessが使用できるのはサーバーの管理者が使用を許可した場合です。許可されていないサーバーでは使用できません。

htaccessの有効範囲

htaccessの有効範囲は .htaccessを設置したディレクトリ以下の階層すべて

.htaccessの有効範囲は .htaccessを設置したディレクトリ以下の階層すべてです。階層の途中に更に .htaccessを置いた場合その設定内容が優先されます。

httpd.confがサーバー全体の設定を行うのに対し.htaccessはディレクトリごとにサーバーの設定を変更することができます。.htaccessは管理者権限を持たないユーザーがサーバーの設定を変更するときに役立つ設定ファイルと言えます。

htaccessの設置方法

.htaccessを使うには .htaccessをサーバーのディレクトリに配置するだけです。ドメインのrootに置いて置くとよいでしょう。WordPressの場合はパーマリンクの設定を変更すると .htaccessが作成されるので既に作成されていることが多いです。

もしサーバーに .htaccessが存在しない場合は手動で作成してください。

Window環境でファイル名の先頭に「.」を入れる場合「.htaccess.」のように前後にドットを付けます。

htaccessの使用目的

.htaccessを使用するのは主にサーバーの管理者権限を持っておらず httpd.confを編集できないときです。レンタルサーバーを使用している場合がこれに当てはまります。

.htaccessの使用目的には以下のようなものがあります。

  • リダイレクト
  • サイト全体にパスワードをかける
  • IPアドレスのブロック

リダイレクト

リダイレクトは指定ページへユーザーを転送することです。ユーザーだけでなく検索クローラーも同様に転送することができます。リダイレクトには301リダイレクトと302リダイレクトがあります。

301リダイレクトはhttpからhttps、wwwありからwww無しへ転送するなど恒久的にページのURLを変更したいときに使用します。これは元ページの評価や被リンクを転送先のページに渡すことができます。

SSL化の際にhttpからhttpsへ301リダイレクトを設定することがよくあります。

httpから httpsへリダイレクトする方法
SSL化の後にはhttpsへの301リダイレクト設定が必要です。検索エンジンの評価分散を避けるためにもリダイレクト設定を行っておきましょう。この記事では httpから httpsへ301リダイレクトする方法を紹介します。

302リダイレクトは301とは反対に一時的な転送です。一定期間だけリダイレクトを行いページ評価やリンクは渡しません。

サイト全体にパスワードをかける

.htaccessを用いてサイトにパスワードを設定することをBasic認証と呼びます。Basic認証を設定するとページの閲覧にユーザー名とパスワードを要求することができるようになります。

Webサイト作成を始めたばかりで準備が整っていないときやサイトを改修したいときに一時的にサイト全体を非公開にしたいときがあるでしょう。そんなときには .htaccessでBasic認証の設定をすれば手軽にサイト全体または特定のページをパスワードで保護できます。

IPアドレスのブロック

.htaccessを使えば特定の国・地域・人のIPアドレスに対してのアクセス制限をかけることが可能です。

特定のIPアドレスがサーバーに大量のアクセスをして高い負荷をかけていたとしましょう。それは不正アクセスのための攻撃かもしれません。または画像の直接リンクによる迷惑行為の可能性もあります。スパム対策のために国外からのアクセスを禁止したい場合もあるでしょう。このような場合に .htaccessを使いアクセスの制限を設けることが可能になります。

参考サイト

この記事を書くにあたって参考にさせて頂いたサイトを紹介します。