.htaccessとは、Webサーバーの動作をディレクトリ単位で制御できるファイルです。
ファイル内にルールを守った記述をすれば、アクセス制限やリダイレクト指定、404ページの作成といったことができます。
非常に便利な機能ですが、具体的な仕組みがよくわからず活用できていない方もいるのではないでしょうか。
本記事では、.htaccessの記述方法や設定手順、使う際のポイントについて解説します。
「.htaccessを使ってみたいけどやり方がよくわからない」
「.htaccessの記述方法について詳しく知りたい」
このような要望・疑問がある方はぜひ最後までご覧ください。
1『SEOコンサルティング』:サイト全体の戦略設計からプロが伴走
2『SEO内製化支援プラン』:正しいSEOの知識で内製化を実現
3『Webコンサルティング』:サイト改善によるCV創出で成果最大化
目次
.htaccessとは?
.htaccessとは、Webサーバーで利用されるApache(Webサーバーソフトウェア)を、ディレクトリ単位でコントロールするためのファイルです。
特定のディレクトリに.htaccessファイルを設置し、ファイル内にアクセス制限やリダイレクト指令を記述すれば、設置されたディレクトリとその下層のディレクトリ内に対して適用されます。
リダイレクトやIP制限など、Webサイト運営で欠かせない様々なシーンで活用できます。詳しくは次の章をご覧ください。
.htaccessの主な活用方法
.htaccessファイルは基本的に次のような場面で活用されます。
- リダイレクト
- BASIC認証
- IP制限
- 404エラーページの作成
用途別にそれぞれ詳しく解説します。
リダイレクト
.htaccessでリダイレクト機能を設定すると、指定先URL・ディレクトリにアクセスしたクローラーやユーザーを別のページにリダイレクト(転送)させることができます。
リダイレクトは、サイトリニューアル時に旧URLから新URLにサイトを移転させる場合やURLを正規化する場合などに使います。
また、リダイレクトには301リダイレクト・302リダイレクトがありますが、.htaccessのファイル内にはどちらの記述も可能です。
詳しく知りたい方は下記の記事をご覧ください。
301リダイレクトとは?行うべき理由や設定方法、注意点を徹底解説
BASIC認証
BASIC認証は、Webサイト内にパスワード認証機能を設けて、特定のページやファイルにアクセス制限をかけることができる認証方法です。
BASIC認証は、サイトやページの公開前に関係者だけで最終チェックする場合や、管理画面など関係者のみが閲覧する場合に用いられます。
Webサイトにアクセス制限をかける方法はいくつかありますが、.htaccessのファイル内にBASIC認証の記述をするのがもっとも簡易的な方法です。
IP制限
IP制限とは、接続元のIPアドレスを使ってアクセスを制限する方法です。
IPアドレスとは、インターネットに接続されているコンピューターなどの通信機器についている番号のことで、セキュリティ向上の役割を担っています。
わかりやすく例えるなら、送信元を識別するための住所のようなものです。
.htaccessファイルにIP制限の記述をすれば、特定のIPアドレスのみアクセスを拒否できます。またその逆も可能で、特定のIPアドレスのみアクセスを許可する権限を与えられます。
404エラーページの作成
404not found(404エラー)とは、存在しないページへのアクセス時に表示されるHTTPステータスコードのことです。
.htaccessを使えば、404 not found(404エラー)が発生した際に表示されるエラーページを作成できます。
404 not foundについて詳しく知りたい方は、下記の記事をご覧ください。
404 not found(404エラー)が起きる原因と対処法を解説
.htaccessの有効範囲
作成した.htaccessファイルは、設定を行いたいディレクトリにファイルをアップロードする必要があります。
なぜなら、.htaccessには有効範囲があり、ファイルをアップロードしたディレクトリとその下層にあるディレクトリにのみ適用されるためです。
例えば、「ディレクトリA」に.htaccessファイルを設置した場合、有効範囲なのは下層にある「ディレクトリA-1」や「ディレクトリA-2」です。
そのためディレクトリAと同じ階層にあるディレクトリBには、.htaccessファイルの内容は適用されません。
.htaccessファイルを配置する場合は、設置場所を間違えないように注意しましょう。
.htaccessファイルの記述方法
.htaccessファイルを作成する際は、以下のルールを守りましょう。
- ファイル名は「.htaccess」にする(拡張子はつけない)
- 文字コードは「UTF-8」(BOMなし)、改行コードは「LF」にする
- 文章の最後に必ず改行を入れる
上記のルールを守らないと、「500 internal sever error」が発生し、Webページが表示されなくなるので注意が必要です。
そちらのルールを踏まえつつ、.htaccessファイルの記述方法について解説します。
- リダイレクト
- BASIC認証
- IP制限
リダイレクト
.htaccessファイル内にリダイレクト指定する記述方法を解説します。今回は弊社ウィルゲートが運営するメディア「プロモニスタ」で例えてみました。
サイト全体を「https://www.willgate.co.jp/promonista」に転送する場合は、次のように記述します。
Redirect permanent / https://www.willgate.co.jp/promonista
上記はサイト全体を引っ越しする際に使うため、ページ単位では使わない記述方法です。
もしページ単位で転送させたい場合は、次のような書き方です。
RewriteEngine On RewriteRule 対象となるページのURL$ https://www.willgate.co.jp/promonista/ [R=301,L]
記述の作り方は、サイトの単位ごとで異なりますので注意しましょう。
BASIC認証
BASIC認証を設定するには、.htaccessファイルに次のように記述します。
AuthType Basic AuthUserFile /フルパス/.htpasswd AuthName “Please enter your ID and password” AuthType Basic require valid-user
上記で記述したそれぞれの行には次のような意味があります。
- AuthType Basic:認証方法の指定
- AuthUserFile :ファイル名
- AuthName :認証名
- require valid-user:認証するユーザーの指定
フルパスと記述された部分は、後ほど作成する「.htpasswdファイル」で絶対パスに書き換えます。スラッシュも忘れないようにしましょう。
記述が完了したら、.htaccessファイルをディレクトリにアップロードします。
アップロードが完了したら、次に.htpasswdファイルを作成しましょう。
.htpasswdファイルは、認証した情報を格納する役割を担っています。.htpasswdファイル内には次のように記述します。
ユーザーネーム:暗号化パスワード① ユーザーネーム:暗号化パスワード② ユーザーネーム:暗号化パスワード③
このときパスワードが暗号化されていないと、認証されないようになっているため注意が必要です。
無料のファイル生成サービスを使い、暗号化したパスワードで記述をしましょう。
IP制限
IP制限は許可する場合と拒否する場合で記述方法が異なります。
それぞれの記述方法は下記をご覧ください。
▼特定のIPアドレスからのアクセスのみ許可したい場合の記述方法
order deny,allow deny from all allow from 許可したいIPアドレスを記述 allow from example.ne.jp
▼特定のIPアドレスからのアクセスを拒否したい場合の記述方法
order allow,deny allow from all deny from 拒否したいIPアドレスを記述 deny from example.ne.jp
特定のIPアドレスが複数ある場合は、制限したい数だけ「deny from」と「allow from」を記述します。例えば次の通りです。
order deny,allow deny from all allow from 許可したいIPアドレス①を記述 allow from 許可したいIPアドレス②を記述 allow from 許可したいIPアドレス③を記述 allow from example.ne.jp
Webツールを使って.htaccessファイルを記述する方法
.htaccessファイルにアクセス制限やリダイレクト指令を記述しようとすると、非常に手間がかかり大変です。
そこで、下記で紹介する「.htaccess作成」という無料ツールを使えば、簡単に.htaccessファイルを生成できるようになります。
Webツールを活用して、.htaccessファイルを記述してみましょう。
.htaccessの設定手順
.htaccessの設定手順を確認しましょう。
- ①.htaccessファイルの用意
- ②.htaccessファイルをサーバーにアップロードする
それぞれ詳しく解説します。
①.htaccessファイルの用意
まずは.htaccessファイルを用意しましょう。
「.htaccessファイルの記述方法」で解説した記述方法に則って、.htaccessファイルを作成します。
このときファイル名は「.htaccess」にしましょう。
②.htaccessファイルをサーバーにアップロードする
FTPソフトを使い、テキストエディタで作成した.htaccessファイルをサーバーにアップロードします。
前章で解説したとおり、アップロードするディレクトリによって.htaccessファイルの有効範囲は異なりますので、注意するようにしましょう。
.htaccessを使う際のポイント
.htaccessを使う際のポイントについて解説します。
- WordPressでの設置場所
- .htaccessファイルで設定したはずの内容が反映されていない場合
WordPressでの設置場所
WordPressを利用してサイトを作成している場合は、.htaccessファイルはあらかじめ生成されています。
設置場所は、WordPressをインストールしたルートディレクトリ内にあります。
WordPressだとしても基本的な.htaccessファイルの書き方は変わりませんので、「.htaccessファイルの記述方法」の章で解説したルールに則って記述をしましょう。
.htaccessファイルで設定したはずの内容が反映されていない場合
.htaccessファイルで設定したはずの内容が、反映されていない場合があります。
- .htaccessが表示されない設定になっている
- .htaccessが作成されていない
それぞれ解説します。
.htaccessが表示されない設定になっている
「.(ドット)」から始まるファイルは「隠しファイル」と呼ばれ、FTPソフトの設定次第では表示されない設定になっています。変更する必要のないファイルやシステムの動作に影響を与える重要なファイルなどを、誤って変更しないようにこのような設定が使われます。
そのルールに則ると、.htaccessファイルも隠しファイルに該当します。FTPソフトで.htaccessファイルが見つからない場合は設定を見直してみましょう。
.htaccessが作成されていない
「WordPressを使っているから自動生成されただろう」と思い込んでいると、「実は作成されていなかった」ということがあり得ます。
その場合は、次の手順を試してみてください。
- ①FTPソフトでサーバーにアクセスし、WordPressがインストールされたディレクトリのパーミッションを「755」に変更
※「属性の変更」→「現在の属性」に「755」と記入 - ②WordPressの管理画面の「設定」→「パーマリンク設定」で、何も変更を加えず「変更を保存」をクリックして完了
もし.htaccessファイルで設定したはずの内容が反映されていない場合は、そもそもファイルが作成されていない可能性があるので、いま一度確認してみましょう。
まとめ
本記事では、.htaccessの活用方法や設定手順、使う際のポイントについて解説しました。
.htaccessとは、Webサーバーの動作をディレクトリ単位で制御するためのファイルです。リダイレクトやアクセス制限など、さまざまな指令を出すことができます。
ディレクトリ単位で制御できるため一見便利なように見えますが、記述方法を間違えるとうまく動作しません。そのため、.htaccessの理解を深め、正しい記述方法を覚える必要があります。
本記事で解説した、.htaccessの活用方法や記述方法を理解し、サイト運営に活かしてみましょう。
SEOに関して、何から着手すべきかわからない、なかなか成果がでないなどのお悩みがございましたら
SEO無料相談も受け付けておりますので、お気軽にお問合せください。