SEO/SEM

.htaccessとは?書き方例や設定方法、できることについて解説

.htaccessとは?書き方例や設定方法、できることについて解説
「.htaccess」とはWebサイトのアクセス制御に欠かせないファイルです。Webサイトの作成・運営をおこなうにあたって、聞いたことはあるものの具体的にどのような役割を持つのかわからない、という人は多いのではないでしょうか。

この記事では「.htaccess」でできることや設定の手順など、「.htaccess」について押さえておきたい情報をわかりやすく解説します。ぜひ参考にしてください。
SEOに悩むサイト担当者必見!世界最高水準のテクニカルSEOツール「Lumar」
Lumar

URLを入れるだけでサイト内部の問題を一括検出。
Googleと同じ視点でサイトクロール
大規模サイトでも手軽に高度なSEO分析ができます!

まずは無料デモクロールを試して、あなたのサイトの問題点を一括検出!

「.htaccess」とは

「.htaccess(ドットエイチティアクセス)」とは、Webサーバーの基本的な動作をディレクトリ(※)単位で制御するためのファイルのことです。「Apache(アパッチ)」というWebサーバーソフトウェアを利用している環境で制御できます。

基本的にApache環境でサーバー制御ができるのは、高度な権限を持つサーバーの管理者のみです。しかし「.htaccess」を利用することで、権限を持たないユーザーもサーバーに関するさまざまな設定ができるようになります。

※ディレクトリとは、ファイルを分類したり、管理したりするための概念のことです。さまざまなファイルをまとめる「入れ物」のようなものと考えてよいでしょう。

「.htaccess」でできる4つのこと

「.htaccess」でできることは、主に以下の4つです。

  • Redirect設定
  • BASIC認証
  • URLの正規化
  • IP制限

ここでは、それぞれ具体的に解説します。

1.Redirect設定

Redirect(リダイレクト)設定とは、特定のURLにアクセスしたユーザーを指定した別のURLへ自動転送することです。

リダイレクトが利用される場面としては、主に以下の例が挙げられます。

  • 訪問者が古いページへ訪れた場合に、自動的に新しいページへ転送する
  • メンテナンスや改修などの最中にユーザーがアクセスしないよう、一時的に別のページに転送する

2.BASIC認証

BASIC認証とは、HTTP通信で扱えるユーザー認証方法のことです。BASIC認証の設定をすると、アクセスしたユーザーにIDとパスワードの入力を求められるようになります。ID・パスワードの入力をしなければページの閲覧はできません。

BASIC認証の設定は、主に以下のようなケースで行います。

  • 会員サイトなど特定のユーザーのみがアクセスできるページを作成する
  • サイトの一般公開前に関係者だけでサイトのチェックを行うためにアクセスできるユーザーを制限する

3.URLの正規化

URLの正規化とは、同じ内容のページが複数存在する場合に検索エンジンが評価すべきURLを指定することです。

同じ内容のページが複数存在していると、検索エンジンの評価が分散しやすくなります。また、重複した内容であることから、Googleよりコピーコンテンツとみなされるおそれもあります。その場合、ページ自体が低い評価となり、結果として検索結果で上位表示されにくくなってしまうのです。

同じ内容のページが複数存在してしまうケースを紹介します。

  • 「www」の有無
  • トップページの「index.html」の有無
  • URL頭の「http」「https」の違い

4.IP制限

IP制限とは、特定のIPアドレスのみでしかサイトやページを閲覧できないように制限をかけることです。また、特定のIPアドレスからのアクセスを防ぐ設定もできます。

IP制限が活用されるケースの例を紹介します。

  • サイトの一般公開前に関係者だけでサイトのチェックを行うためにアクセスできるユーザーを制限する
    ※BASIC認証と似ていますが、IP制限ではID・パスワードの入力といった手間を省きつつアクセス制限が可能です
  • 社内ネットワークなど特定の範囲のみでアクセスできるWebサイトやページを作成する

「.htaccess」の有効範囲と設置場所

「.htaccess」の有効範囲は、.htaccessファイルを設置したディレクトリおよび配下の階層です。

例えばA・B・Cというディレクトリがあり、それぞれの配下にa・b・c…といった階層が続くとします。Aに「.htaccess」を設置した場合、「.htaccess」の有効範囲はAおよびaとなり、B・Cおよびその下の階層であるb・cには適用されません。

また、A・B・Cよりも上の階層にXというディレクトリがあり、Xに「.htaccess」を設置した場合は、A・B・Cおよびa・b・c全てが「.htaccess」の適用を受けることになります。.htaccessファイルは、設定したいディレクトリへのアップロードが必要です。

「.htaccess」の書き方と例

「.htaccess」は、Windowsに標準で備わっているメモ帳などのテキストエディタなどで作成できます。テキストエディタで.htaccessファイルを作成する際は、以下のルールを押さえる必要があります。

  • ファイルを保存する際、文字コードはUTF-8(BOM無し)を指定する
  • 改行コードはLFを指定する
  • 最後に必ず空白行を入れる(改行する)

以上のルールを守らないと、エラーが発生するおそれがあるため注意が必要です。ここでは、RedirectとBASIC認証の書き方について具体例を用いて紹介します。

Redirectの書き方の例

ページ単位でリダイレクトしたい場合、以下の記述を行います。なお、頭の数字は行数を示します。「1」は1行目、「2」は2行目という意味です。

  • RewriteEngine on
  • RewriteRule ^/●●.html$ https://〇〇〇.jp /〇〇.html [R=301,L]
    ※「●●.html」部分が転送前、「https://〇〇〇.jp /〇〇.html」部分が転送後です。302リダイレクトの場合は、後ろの「301」部分を「302」に変更します

ディレクトリ単位のリダイレクトは、以下の通りです。

  • RewriteEngine on
  • RewriteRule ^▲▲(.*)$ /△△$1 [L,R=301]
    ※「▲▲」部分に転送前、「△△」部分に転送後のディレクトリを入れます。ページ単位でのリダイレクト例と同様、302リダイレクトの場合は「301」部分を「302」に変更してください。

リダイレクトの書き方は、リダイレクトの種類や単位によって異なります。事前に正しい書き方を確認しておきましょう。

BASIC認証の書き方の例

BASIC認証で必要な記述は、以下の4行です。

  • AuthType Basic
  • AuthName “認証名”
  • AuthUserFile “.htpasswdファイルの場所”
  • require valid-user

1行目は、認証方式の設定を意味します。今回はBASIC認証のため、「Basic」と記述します。

2行目は、任意の認証名を記述する部分です。「認証名」の部分を任意の文字列に変更してください。

3行目の「htpasswdファイル」とは、ユーザー名とパスワードを記述したファイルのことを意味します。BASIC認証を設定する際、上記の4行を記述したファイルとは別にhtpasswdファイルの作成が必要です。「htpasswdファイルの場所」部分に、htpasswdファイルの設置場所を記述します。

4行目は、「ユーザー認証を求める」という意味の記述です。

「.htaccess」の設定手順

「.htaccess」の設定手順は、大きく2つの工程に分けられます。

  • .htaccessファイルを準備する
  • サーバーにアップロードする

ここでは、それぞれ詳しく解説します。

手順1: .htaccessファイルを準備する

まず.htaccessファイルを準備します。ファイル作成の大まかな手順は、以下の通りです。

  • テキストエディタを開き、新規作成を行う
  • 必要な記述をする
  • 最後に空白行を入れる
  • ファイル名を「.htaccess(もしくはピリオドを外したhtaccess)」にし、拡張子を付けずに保存する
    文字コードはUTF-8(BOM無し)、改行コードはLFを指定

手順2: サーバーにアップロードする

続いて、作成した.htaccessファイルをサーバーにアップロードします。FTPソフトなどを使用するケースが多いですが、サーバーによってアップロードの方法が異なる可能性があります。利用しているサーバーにおけるアップロード方法を確認してください。

「.htaccess」を設定するときの注意点

「.htaccess」を設定するときの注意点は、主に以下の3つです。

  • ファイル名は「.htaccess」にする
  • セキュリティ低下のリスクについて理解する
  • 設定場所を間違えないようにする

ここでは、それぞれ詳しく解説します。

ファイル名は「.htaccess」にする

テキストエディタで作成したhtaccessファイルの名前は「.htaccess」にするほか、「.text」などの拡張子は付けないよう注意が必要です。拡張子を設定してしまうとファイルが動作しなくなるおそれがあります。

なお、ファイル名の先頭が「.(ピリオド)」の場合、文字列が拡張子と判断されてしまい、保存エラーや勝手に「.txt」などの拡張子が付けられる場合があります。Windowsでは「htaccess.txt」あるいは「htpasswd.txt」といったファイル名で保存するか、FTPでアップロードする際のファイル名を「.htaccess」にすることがおすすめです。

セキュリティ低下のリスクについて理解する

「.htaccess」を設置する前に、セキュリティ低下のリスクについて理解する必要があります。

「.htaccess」はサーバーに設定しなければならないため、サーバーに関する情報共有が必須です。サーバー情報は、機密情報のひとつです。自社内で「.htaccess」の設置や削除を手軽に行うならば漏洩のリスクは抑えられますが、外部に依頼する場合は機密情報を渡すことになります。

セキュリティ上のリスクを考慮した上で、「.htaccess」の利用を検討する必要があります。

設定場所を間違えないようにする

前項の「.htaccessの有効範囲と設置場所」の章で「.htaccessファイルの設定場所によって有効範囲が異なる」と解説しましたが、.htaccessファイルを用いる際は設置場所を間違えないよう注意が必要です。

下層ディレクトリのみに適用したいのに最上位の層に設定してしまうと、必要以上の範囲に影響してしまいます。逆にサイト全体に適用させたい場合に下層ディレクトリに設定してしまうと、「.htaccess」が反映されないページが発生してしまいます。.htaccessファイルが正しく適用されるよう、設置場所には注意しましょう。

まとめ

「.htaccess」を利用することで、Webサーバーの基本的な動作を手軽に制御できます。リダイレクト設定やBASIC認証など、さまざまな場面で有用です。

しかし、「.htaccess」は書き方や設置場所に細かなルールがあり、少しでも誤ると上手く動作しないおそれがあります。また、セキュリティ低下のリスクについても理解しておくことが必要です。

この記事を参考に「.htaccess」の適切な使い方を把握し、目的に応じて使用を検討できるようになりましょう。

【無料のおすすめ資料】WordPress基礎知識大全:SEO対策まで完全網羅
WordPress基礎知識大全

世界No.1 CMSのWordPressを徹底解説!
初心者でも簡単に始められる基本設定から、サイトの成功を左右するSEO対策まで網羅。新規ブロガーもベテランも必見の完全ガイドです。
今すぐ無料でダウンロードし、あなたのサイトを次のレベルへ!

SEO対策でビジネスを加速させる
seo-dash!bygmo

SEO対策でこんな思い込みしていませんか?

  • 大きいキーワードボリュームが取れないと売上が上がらない・・
  • コンサルに頼んでもなかなか改善しない
  • SEOはコンテンツさえ良ければ上がる

大事なのは自社にあったビジネス設計です。
御社の課題解決に直結するSEO施策をご提案します

無料資料請求はこちら

プロフィール
大澤 健人(おおさわ けんと)
GMO TECH株式会社 大澤 健人(おおさわ けんと)大澤 健人(おおさわ けんと)のFacebook
2012年より一貫して検索エンジン領域のコンサルティング業務に従事。 2017年にGMO TECH社に参画。営業組織の構築、新商材開発、マーケティング部門立ち上げをおこなう。 現在、MEOコンサルティング、SEOコンサルティング、運用型広告などSEM領域全体を統括し、 お客様の期待を超える価値提供を行うため日々、組織運営・グロースに奔走している。

Service Siteサービスサイト

CONTACT US

デジタルマーケティングに関することならお気軽にご相談ください

メルマガ登録

メールマガジンはこちらからご登録ください。

デジタルマーケティングに関するホットな情報をお届けいたします。

フォームからのお問い合わせ

GMO TECHへの業務依頼、発注を希望される方はこちらよりご連絡ください。

SSL GMOグローバルサインのサイトシール