.htaccessとは 主な活用方法やディレクトリへの有効範囲について

更新日: 公開日:

.htaccess(ドットエイチティーアクセス)とは、Apache(アパッチ)というWebサーバーソフトウェアが使用されている環境で、Webサーバーをディレクトリ単位で制御するためのファイルのことです。リダイレクトの設定やカスタム404ページの表示設定などが行えます。

ここでは、.htaccessの基本的な説明と主な活用方法について、詳しく解説していきます。

この記事のポイント

  • .htaccessはApacheが使用されている環境で、Webサーバーをディレクトリ単位で制御するためのファイルのこと

  • .htaccessは主にBASIC認証、リダイレクト、カスタム404ページの用途で使用されることが多い

  • .htaccessで競合する指示を出した場合、より下層のディレクトリに設置した.htaccessの優先度が高くなる。

\SEOで成果につなげる!資料ダウンロードはこちらから/

.htaccess とは

.htaccessとは、Apache(アパッチ)というWebサーバーソフトウェアが使用されている環境で、Webサーバーをディレクトリ単位で制御するためのファイルのことです。
(なお、Apache以外のWebサーバーソフトウェアでは使用することはできません。)

簡単に説明すると、.htaccessは、設置したディレクトリを頂点とし、各ディレクトリに対し、リダイレクトやアクセス制限、カスタム404ページの表示の指示を出すことができます。

ディレクトリ単位で指示を出せるので、 .htaccessを設置したディレクトリではサブディレクトリを含むすべてのファイルに効果があります。例えば、ルートディレクトリ(最上位のディレクトリ)に設置した場合は、全てのディレクトリに対しての指示となります。

※サブディレクトリにも、.htaccessを設置することは可能です。
なお、上層のディレクトリにも、.htaccessが設置されていて、それぞれの指示が影響する場合はサブディレクトリに設置された.htaccessの指示が優先されます。

ここまで読んでよく分からん!という場合、ご安心ください。もしよろしければお気軽にお問い合わせしてみてください。
担当が電話やオンラインで軽い打合せをするのですが、その打合せで解決することもあります。

.htaccessの有効範囲について

.htaccessの有効範囲について、図解と合わせてもう少し詳しく見ておきましょう。

.htaccessの有効範囲について

図のようにディレクトリ /a 配下に.htaccessファイルを設置した場合、 その指示は点線で囲まれたディレクトリ /a 以下の階層に有効となります。よって、ディレクトリ /a1 、 /a2 は.htaccessに記載した内容の影響を受けます。一方で、ディレクトリ /a 以下の階層ではないディレクトリ /b 、 /c には影響はありません。

また、 ディレクトリ /a1 にも.htaccesssファイルを設置した場合、 サブディレクトリの指示が優先されます。
例として、下記A、 B、 の競合する指示を.htaccessファイルで行った場合、 “B” の指示が優先され、/a1にアクセスした場合 /c へ301リダイレクトされます。

A、 ディレクトリ /a の.htaccessファイルで ディレクトリ/a1 へのアクセスを /b へ301リダイレクト

B、 ディレクトリ /a1 の.htaccessファイルでディレクトリ /a1 へのアクセスを /c へ301リダイレクト(優先)

.htaccessの主な活用方法

.htaccessを実際に活用する方法として主に以下の3点が挙げられます。

BASIC認証

.htaccessを設置したディレクトリにアクセスする際に、 IDとパスワードの入力をユーザーに求めることができます。なお、BASIC認証は、サイト公開前に関係者だけで最終チェックを行う際などによく使われます

リダイレクト

指定したURL、ディレクトリにアクセスしたユーザー、 クローラーなどを別のページにリダイレクト(転送)させることができます。サイトをリニューアルした際に、旧URLから新URLへリダイレクトさせる場合、 www.のありなし、末尾のスラッシュのありなしといったURLを正規化する場合などに使用します。
また、リダイレクトを設定する際には「301」「302」などのステータスコードを設定することができます。

カスタム404エラーページの作成

WEBサイトにアクセスした際、 ページが削除されていたり、 そもそも存在しないページにアクセスすると、ページが存在しないことを示す404ページが表示されます。

この際、 ユーザーの離脱を防ぐためにTOPページへのリンクや検索ボックスなど、ユーザーが求める情報を得られるような導線を設定したカスタム404ページを設定することが望ましいですが、そのカスタム404ページも.htaccessによって設定できます。

※設定方法は 「カスタム404ページとは」 のカスタム404ページの作り方をご参照ください。

.htaccessでリダイレクトを有効にする方法

最後に、.htaccessへのリダイレクト設定を紹介します。

http://www.hoge.com/のURLで、wwwあり、index.htmlなしに正規化する例です。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^hoge\.com
RewriteRule (.*) http://www.hoge.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.hoge.com/$1 [R=301,L]

Apacheでは、この.htaccessが利用できなくなっている場合や、.htaccessは利用できるのものの、リダイレクトが利用できなくなっている場合があります。その場合は、Apacheの設定ファイルhttpd.confの設定を変えることで、.htaccessが使用できるようになります。

このhttpd.confというファイルのAllowOverrideという項目をAllにします。

AllowOverride All

また、RewriteEngineを利用するには、mod_rewriteというモジュールを有効化する必要があります。同じhttpd.confの

LoadModule rewrite_module modules/mod_rewrite.so

という行が、#でコメントアウトされていないかご確認ください。

なお、httpd.confの設定を変えた場合、Apacheを再起動する必要があるので注意です。

これらの設定は、サーバーのroot権限がないと、設定できません。専有サーバーやVPS等の一部を除き、共用サーバーをご利用の場合は、設定ができない場合が多いので、サーバーの管理者などに確認されることをおすすめします。

まとめ

.htaccessは、Apache(アパッチ)というWebサーバーソフトウェアが使用されている環境で、Webサーバーをディレクトリ単位で制御するためのファイルのことで、BASIC認証、リダイレクト、カスタム404ページの表示などに使用します。

最後に注意点としては、 記述が間違っていた場合やサーバーの管理者によって、.htaccessファイルの使用が許可されていない場合、 500 Internal Server Error が表示されますので、その際は記述内容を見直すようにしてください。
また、.htaccessは下層ディレクトリに設置されたものが優先されますので、上手くいかない場合は、他に.htaccessを設置していないか確認してみましょう。

SEO対策の全体像、検索エンジンの仕組みをより詳しく学びたい方はこちらの記事もご覧ください。
SEOとは?SEO対策を検索エンジンの仕組みと絡めて技術要件、コンテンツ制作など詳しく解説

ここまで少々技術的な説明を行ってきましたが、もしお困りでしたら弊社のコンサルタントがサポートいたします。弊社は、戦略策定から実装支援まで一貫してサポートしております。

【1000社以上のコンサル実績】

ナイルのSEO成果事例を見る

 

\SEOの疑問がある場合は、ぜひご相談ください!/

関連記事

SEOに効果的なタイトルの付け方6つのポイント

SEOに効果的なタイトルの付け方6つのポイント

リッチスニペット(Googleリッチリザルト)とは?設定方法と注意点について

リッチスニペット(Googleリッチリザルト)とは?設定方法と注意点について

robots.txtとは | 目的や書き方、設定方法について

robots.txtとは | 目的や書き方、設定方法について

新着記事

マーケティング 集客

集客はマーケティングの1つ!押さえておきたい4つのポイントを紹介

ウェブ集客

ゼロからわかる!ウェブ集客の方法やメリット・デメリットを解説

リスティング広告

リスティング広告の6つのメリット・5つのデメリットを解説

サイト内検索