コラム

.htaccessとは?用途や書き方、動作しない場合の対処法を解説

.htaccessを使えば、ディレクトリ単位でサーバーにさまざまな指示を与えられます。リダイレクトやカスタム404エラーの表示など、SEOにも関係する設定も行えるため、サイト運営に当たって理解が必須です。

しかし、.htaccessの役割や仕組みについてわからない方も多いのではないでしょうか。

この記事では.htaccessでできることや書き方について解説していきます。Webサイトのユーザビリティを向上させたい方は、ぜひ参考にしてください。

.htaccessとは

.htaccessは、Webサーバーの動作をディレクトリ単位で制御するためのファイルです。世界的に普及しているWebサーバーソフトウェアである「Apache」の環境下で動作します。

.htaccessを各ディレクトリに追加すれば、リダイレクトの設定やWebサイトへのアクセス制限など、さまざまな操作が可能です。

htaccessでできること

.htaccessは、主に以下4つの用途で使用します。

  • リダイレクト
  • Webサイトへのアクセス制限
  • BASIC認証
  • カスタム404エラーページの表示

それぞれ詳しく解説していきます。

リダイレクト

.htaccessに記述を追加すれば、任意のページにアクセスしたユーザーやクローラーを、別のページにリダイレクトできます。サイトのドメインを変更した際や、SEOの評価を特定のページに集約させるURL正規化に利用されます。

また、ステータスコードの設定やリダイレクトの種類も指定できます。

Webサイトへのアクセス制限

.htaccessを使えば、IPアドレス単位でアクセス制限をかけられます。

たとえば、海外からのアクセスを遮断する場合や社内のみで閲覧可能にしたい場合などに利用できます。

BASIC認証

BASIC認証とは、HTTPで扱えるユーザー認証の方法です。設定すると、ページにIDとパスワードをかけられます。

特定のユーザーにしかページが閲覧できなくなるため、会員サイトを運営する場合などに有効です。

カスタム404エラーページの表示

404エラーとは、存在しないページにアクセスした際に表示されるHTTPステータスコードです。404エラーが起きた際は、サーバーごとに設定されているエラーページが表示されます。

しかし、デフォルトのエラーページは、ページが存在しない旨を伝えるだけのシンプルなページであるため、ユーザーの離脱を招きます。

しかしTOPページへのリンクなど、別ページへの導線をを設置したカスタム404エラーページを表示すれば、ユーザビリティの低下を防げます。

.htaccessを使って、適切なエラーページが表示されるように設定しましょう。

.htaccessの書き方と設置場所

.htaccessは、設定を変更したいディレクトリ単位にファイルをアップロードします。たとえば「会員情報」という階層の閲覧にパスワードをかけたい場合、以下のようになります。

  1. .htaccessを作成し、BASIC認証の記述を追加
  2. 「会員情報」の親ディレクトリに作成した.htaccessをアップロード

これで「会員情報」の子階層まで、設定を反映できます。

一方、親子関係のない階層には設定が反映されないため、各ディレクトリごとに同様の作業が必要です。

また.htaccessの書き方は、目的に応じて異なります。以下4つの記述方法について、詳しく解説していきます。

  • リダイレクト
  • Webサイトへのアクセス制限
  • BASIC認証
  • カスタム404エラーページの表示

リダイレクトの書き方

リダイレクトの記述方法は、301リダイレクトと302リダイレクトで異なります。

それぞれの書き方は、以下を参照してください。

【301リダイレクト】

test1.htmlからtest2.htmlに転送RewriteEngine onRewriteRule ^test1.html$ http://www.example.com/test2.html [L,R=301] 
test1ディレクトリからtest2ディレクトリに転送RewriteEngine onRewriteRule ^test1(.*)$ /test2$1 [L,R=301] 

【302リダイレクト】

test1.htmlからtest2.htmlに転送Redirect 302 /test1.html http://example.com/test2.html
test1ディレクトリからtest2ディレクトリに転送Redirect 302 /test1/ http://example.com/test2/
アクセスを許可したい場合order deny,allowdeny from all
allow from ※ここに任意のIPアドレスを入力
アクセスを拒否したい場合order allow,denyallow from all
deny from ※ここに任意のIPアドレスを入力

あああ

BASIC認証の書き方

BASIC認証でIDとパスワードを設定するには.htaccessの他に.htpasswdというファイルが必要です。

また、IDとパスワードはそのまま記述するとセキュリティ面のリスクが大きいため、必ず暗号化しましょう。以下のツールを使えば、簡単に暗号化できます。

.htaccess による認証用 パスワード暗号化ツール

IDとパスワードの暗号化が完了したら、「.htpasswd」ファイルに貼り付けましょう。その上で、.htaccessに以下の記述を追加すれば設定が完了します。

AuthType Basic
AuthUserfile ※.htpasswdファイルを設置したディレクトリのパス
AuthGroupfile /dev/null
AuthName “Please enter your ID and password”
require valid-user

カスタム404エラーページの表示の書き方

カスタム404エラーページを表示させるには、事前に作成が必要です。用意できたら、以下の記述を.htaccessに追加します。

ErrorDocument 404 /※カスタム404エラーページのファイルを設置したパス

エラーページは、必ず相対パスで設定しましょう。絶対パスにすると、ソフト404状態になり、SEOに悪影響を及ぼす可能性があります。

.htaccessが動作しない原因

.htaccessで行なった設定が正しく動作しない場合、以下4つが主な原因です。

  • .htaccessを使える条件が揃っていない
  • .htaccessの記述が間違っている
  • 拡張子が.htaccessになっていない
  • 設置場所が間違っている

それぞれ詳しく解説していきます。

.htaccessを使える条件が揃っていない

.htaccessは、ApacheなどのWebサーバーソフトウェアの環境下で動作します。

たとえば、Microsoft Internet Information Servicesswhでは、.htaccessは使用できません。また、Apacheを使用していても.htaccessの記述ができない設定になっていることがあります。

そのため、利用しているサーバーのソフトウェアや設定を事前に確認することが大切です

.htaccessの記述が間違っている

.htaccess内の記述が間違っていると正しく動作しません。間違いやすいポイントとしては、以下があげられます。

  • 相対パスと絶対パスの違い
  • リダイレクト先のURLの間違い
  • 「.」や「/」などの記号の漏れ

追加した記述を改めて確認し、間違いがないか確認しましょう。

拡張子が.htaccessになっていない

.htaccessのファイル名が間違っていると、サーバーが認識してくれません。

内包されている記述も無視されてしまうため、ファイル名が「.htaccess」になっているか確認しましょう。

設置場所が間違っている

.htaccessは、ディレクトリごとに制御を行うファイルです。そのため、アップロードする場所を間違えると、正しく動作しません。

設定を追加したい階層にファイルがアップロードされているか、改めて確認しましょう。

まとめ:.htaccessを使って適切なアクセス制御を行おう

.htaccessを使えば、リダイレクトやアクセス制限など、さまざまなサーバーの挙動を制御できます。セキュリティやSEOにも関係する重要なファイルであるため、Webサイトの運営者は役割をよく理解しておくことが重要です。

しかしApache以外の環境では動作しないこともあるため、注意が必要です。この記事を参考に、.htaccessを正しく扱えるようになりましょう。

弊社のSEOサービス「ランクエスト」では、お客様ごとに専任のコンサルタントがつき、戦略立案からコンテンツ制作、効果測定まで、すべて対応いたします。SEO対策にお悩みの方は、お気軽にご相談ください。

関連したコンテンツ

最新のコンテンツ

TOP

SEO無料相談

受付時間 平日9:00~18:30

0120-790-671