Webサイトのリダイレクトなど、アクセスの制御を行いたい時に欠かせないファイル.htaccess(ドットエイチティーアクセス)。名前は聞いたことがあるし、なんとなくできることはわかるけど、具体的にはどうやって使うファイルかは説明できない…という方もいらっしゃるのではないでしょうか。
今回は.htaccessで設定できることや書き方、設置場所の注意点などについてご紹介します。
目次
.htaccessとは、「Apache(アパッチ)」というソフトウェアを使用しているWebサーバーのディレクトリ単位で設定を制御することができるファイルです。通常、Apacheのwebサーバー制御は「httpd.conf」で行いますが、root権限を持つサーバー管理者しか権限を持っていません。そのため、webサーバー設定を自分好みにしたい場合、Apacheに.htaccessファイルを格納することで制御を行います。
.htaccessをサーバーに設置することで、Webブラウザからのリクエストに対してWebサーバーのレスポンスを制御することができます。例えば、ブラウザからのリクエストページを表示するか、リクエストとは異なる別のページに転送(リダイレクト)するか、IDとPASSを求めるベーシック認証を求める(アクセス制御)のようなコントロールができます。
.htaccessはどのWebサーバー、どのWebサイトでも利用できるファイルではありません。利用を検討する場合は、以下の条件に当てはまっているかを確認する必要があります。
WebサーバーがWebサーバーとして機能するためにはWebサーバーのソフトウェアというものが必ず必要になります。Apache以外にもIISといったマイクロソフトのソフトウェアも存在しています。IISなどの他のソフトウェアを使用している場合は、.htaccessのファイルをWebサーバーに置いても機能しません。
そのため、まずWebサーバーがApacheによって動いているかを確認しましょう。
「Apache(アパッチ)」を使用しているWebサーバーであっても、サーバー側の設定により.htaccessが使えない場合もあります。レンタルサーバーなど、自社で管理していないサーバーは元々の設定で.htaccessを制限していることがあります。使えない場合は、別でコントロールできる手段が用意されている可能性もありますが、サーバーを借りる前に確認しておくことをおすすめします。
では、実際に.htaccessの作成、記述方法をご紹介していきます。
.htaccessのファイルの作り方はとても簡単です。
.htaccessはテキストファイルのため、メモ帳などのテキストエディタを開いて「.htaccess」というファイル名で保存するだけで.htaccessのファイルになります。
ただし、.htaccessというファイル名で保存しようとすると、「.」を先頭にしたファイル名で保存できないといった警告メッセージなどが表示され保存できない場合があります。
その場合は、.htaccess以外のファイル名、例えばtest.htaccessやhtaccess.txtなどで一旦記述して保存し、ファイルをサーバーにアップロードした後に「.htaccess」にファイル名を直せば問題なく作動します。
.htaccessには記述にルールがあります。ルールに沿って記述をしていない状態の.htaccessをアップロードしていると、サイトが500のサーバーエラーを返してしまう可能性がありますので、以下に注意しましょう。
コメントアウトをする場合は、#を先頭に置きます。
記述途中の行でもコメントアウトの記述は可能ですが、記述場所によってはエラーを起こす可能性もあるため、1行使ってコメントアウトを記載しましょう。
文字コードはUTF-8で、BOM無しにしましょう。
改行コードはLFにしてください。ただし文字コードは、半角文字のみしか使用していない場合は、Shift-JISでも問題ありません。
記述の最後には必ず改行を入れる必要があります。改行は1行以上あっても問題ありません。
作成した.htaccessは、FTPなどを利用してサーバーにアップロードをすることで、すぐに動作し、サーバーの挙動に反映されます。
ファイルの設置場所については、以下で詳しくご説明していきます。
.htaccessは複数設置することができ、ファイルを設置する場所でサーバーを制限できる範囲が変わります。
例えば以下のようなディレクトリだったとします。
/test3/という階層に.htaccessを設置した場合は、/test3/の階層配下のページ/test3/と/test1-1/のみ、アクセス制御ができます。
この場合、その上の階層の/test/や、同列にある階層/test1/、/test2/には何も反映されません。
上記のディレクトリの/test3/に.htaccessを置いた状態で、さらに、/test1-1/に.htaccessを置くことも可能です。
この場合、/test1-1/の記述内容と/test3/の記述内容で同じページに対して競合する指示があった場合は、より下層にある/test1-1/の内容が優先して実行されます。
次に、.htaccessでできる指示と、その具体的な記述内容についてご紹介していきます。
WEB上に公開しているものの、一部のユーザーにしか見せたくないページでSEO経由の流入が不要なページは、.htaccessによるベーシック認証でアクセスの制限をすることができます。アクセスした際に、ユーザーIDとパスワードの入力を求めるもので、ベーシック認証と言います。
.htaccess には以下の記述内容が必要です。
AuthUserFileは.htpasswd(後述します)のファイルのフルパス(絶対パス)を記述します。
AuthNameは認証時にユーザー側に表示されるメッセージです。任意の内容を入力しましょう。
ベーシック認証を有効にするには、上記の.htaccessの記述だけでなく、.htpasswdと言うファイルの作成も合わせて必要になります。
.htpasswdは、.htaccessと同様にテキストファイルで保存するだけで作成が可能です。
上記のように認証に必要な任意のユーザー名とパスワードを作っていきます。パスワードは暗号化されたパスワードである必要があります。
例えばuser1というIDで、パスワードをtest、とした場合は以下のような記述になります。
上記の暗号化されたパスワードを作成したい場合は、以下のような記述作成のWebツールを使って作成が可能です。
引用元:LUFTTOOLS
.htpasswdは対応する.htaccessと同じ階層に設置しましょう。
.htaccessには、.htpasswdのファイルの場所を絶対パスで記述する必要があります。
.htaccessと.htpasswd、両方が存在することで、ベーシック認証の設定が可能になります。
.htaccessでは、指定のページにアクセスした際に、別のページに自動的に転送させることかできる、301リダイレクトの処理ができます。301リダイレクトは、基本的にページのURLが変更になった時に使用します。
301リダイレクトの設定は、ディレクトリ単位やページ単位で設定が可能です。
リニューアルやページ改修に伴って、URLが変更される場合は.htaccessの301リダイレクトを設定することでSEOパワーを変更先URLに引き継ぐことが可能です。URLが変わる場合は、.htaccessの301リダイレクトの指定でSEO評価を損失しないようにしましょう。
ページ単位で301リダイレクトを行う場合の記述は以下の通りです。
/old-page.htmlの部分には、転送前の旧URLを記述します。改行してその下には、転送先の新URLを記述します。転送先のURLは、httpから記述してください。最後に、転送先のURLの後ろに[R=301,L]を記述します。
ディレクトリ単位で301リダイレクトを行う場合の記述は以下の通りです。
上記の記述の場合、/old-dir/というディレクトリ配下のページを全て/new-dir/というディレクトリ配下に転送させることができます。
301リダイレクトについて詳しく知りたい方は、以下の記事を参考にしてください。
ブラウザに入力するURLで、「www.」の有り無し、「/index.html」の有り無しによって、同じページが表示できてしまう場合は、SEOで重複コンテンツによる評価分散が行われている可能性があります。「www.」の有り無し、「/index.html」の有り無しは、.htaccessの設定をすることでURLの正規化を行い、SEO評価損失を防ぐことが可能です。
301リダイレクトの方法を利用し、.htaccessで設定することで、「www.」の有り無し、「/index.html」などの有り無しと言った複数のURLで生成される同一コンテンツを1つのURLに統一、正規化することができます。
以下は、「www.」有り、「index.html」無しでURLを正規化したい場合の記述です。
RewriteCond %{HTTP_HOST} ^(example.com)(:80)? [NC]
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://www.example.com/$1 [R=301,L]
example.comの部分はドメイン名となります。サイトのドメイン名に差し替えて利用してください。
また、index.htmlだけでなくindex.phpなどでも同じページが生成されるパターンもあります。その場合は上記記事内のindex.htmlの部分を、任意のファイル名に書き換えましょう。
URLの正規化について詳しく知りたい方は、以下の記事を参考にしてください。
最後にご紹介するのは、最初に紹介したベーシック認証のようにIDとパスワードの入力でアクセスを制限するのではなく、指定したIPアドレスやドメインからのアクセスだけを制限する方法です。特定のIPアドレスから不正なアクセスがあった場合の対処法などにも有効です。
記述は以下のようにします。
逆にアクセスを特定のIPやドメインだけに許可したい場合は、以下のようにdenyとallowの記述を差し替えます。
.htaccessの記述方法を説明してきましたが、設定時は細心の注意が必要です。なぜなら、設定漏れや記述ミスがあるとSEO流入が減ってしまう可能性がございます。URLが変わるリニューアルの時は、SEOパワーを旧ページから新ページに引き継ぐためには、正しいリダイレクト設定を.htaccessで行うことが可能です。
URLの変更を伴うリダイレクトの.htaccessの設定方法は以下の記事をご参考にしてください。
上記の画像は、.htaccessの設定をリニューアル時に行わなかったことで、SEO経由の流入が減少した例です。2月に行ったリニューアル以降、流入が減少しております。リニューアル時に、旧ページから新ページにSEOパワーを引き継げなかったことでSEO流入が減少した結果になっております。
流入数減少を回復するべく、当社のSEOコンサルティングサービスを2021年9月から開始しました。結果として、流入数前の水準に戻すことができました。.htaccess以外にも、改善するべき内部施策を克服することで流入数前の基準を超える流入数を達成しました。当社にご相談いただいたことで、リニューアル前より集客に強いサイトに変身しました。
主に取り組みを行った施策は以下の通りです。
.htaccessの設置を誤ると、サイトの流入数が減ったビジネスの機会損失につながる可能性があります。不安な場合は、SEOを相談できる制作会社にご相談ください。
ウェブサーバーをコントロールする役割を持っています。.htaccessはWebサイトの引っ越し時のリダイレクトや特定のフォルダに対するパスワードの設定、アクセス制限を行う時に活用するファイルです。
サーバーの種類がApache(アパッチ)である場合に.htaccessのファイルを活用します。また、サーバ管理者によって.htaccessが存在するファイルの場所にアクセスする権限が必要です。
.htaccessの記述はメモ帳などで作成が可能なので、特別なソフトや機能は必要ありません。
書き直しは可能です。.htaccessの記述ミスをするとサイトにアクセスできないなどの障害が発生する可能性もありますので、誤った記述は早急な修正対応が必要です。
.htaccessの誤りはサイト見られなくなるなど、損失が起こりえます。そのため、エンジニアに相談するのが良いでしょう。
SEOの内部施策を満たしたWebサイト制作
Webサイト制作に関して以下のお悩みを持ったことはありませんか?
「検索エンジンに好まれる内部施策をWebサイトに実装してくれるのか・・・」
「SEOに強いWebサイト制作会社を探してる・・・」
以前、私がWebサイト制作を外注する時に「SEO要件を満たしたWebサイトを作ってくれる会社なのか」「成果を最大化するアドバイスがもらえるのか」こうした会社を見つけることが出来ませんでした。
当社はWebサイト制作はもちろんのこと、SEO歴16年以上の実績を持つ「SEOの相談ができるWebサイト制作」を依頼できる会社です。なぜなら、SEO相談実績1000社以上で多くのWebサイトのSEO改善を図ってきたからです。また、経験豊富な専任コンサルタントが社内のSEOコンサルタントや制作チームと連携してWebマーケティングの収益最大化を目指すことができます。
当社の強みは以下にあります。
当社にWebサイト制作をお任せ頂いたお客様で様々な成果事例が報告されています。
当社は「SEO×クリエイティブ」のちからで課題を解決できるWebサイト制作の代行会社です。当社の「Webサイト制作サービス」をご確認ください。
ご紹介した.htaccessの活用方法はほんの一例で、その他にも色々なコントロールが可能です。とても便利な反面、記述を間違えるとアクセスに大きな影響を及ぼす場合もあります。複雑な設定には特に注意が必要なことも、忘れないようにしてください。この記事が読んでいる皆様の役に立てれば幸いです!
ウェブサイトを運営していると、アクセスの急増やGoogleアップデートによる検索順位の影響で、サーバーやドメインの移管作業が必要な場合があり…
Webサイトのトレンドは日々変わります。一度作ったきりのWebサイトは、時間の経過とともにどこか古臭くなってしまい、ユーザーにとっても使いに…
こんにちは、デジタルマーケティング研究所です。 この記事にたどり着いた方は、 「パスを理解したいけど、なんだかよくわからなくなってきた」 「…
メインビジュアルはWebサイトの顔と言える部分で、メインビジュアルの質が高いWebサイトは、サイト全体、さらにはサービスの質まで高い印象を与…
こんにちは、デジタルマーケティング研究所です。 ホームページ制作やリニューアルの際に、制作担当の方からよく聞かれる質問があります。 「うちの…
ワイヤーフレームとは、Web制作において「図面や設計図の役割」をするものです。 サイトを制作するためには、「どんな情報」を「どんなデザイン」…
あなたのサイトは、集客できていますか?各々の課題に沿ったSEOとユーザーに響くデザインを両立したサイト制作で、意識の高いターゲットをフロントへ呼び込みます。
Webマーケティングに関わる施策全般をワンストップで
ご提供します。
お気軽にご相談ください。
Webマーケティング最新ニュースのレポートや無料セミナーの先行案内が届く、お得なメルマガ配信中!