Apacheでの301リダイレクト設定の方法

301リダイレクトでは、「恒久的な転送」を意味しており、SEOの文脈では古いURLの評価を新しいURLに引き継ぐことができます。

本記事では、多くのWebサイトで採用されているApache(アパッチ)サーバーにおいて、301リダイレクトを設定するための具体的な記述例を解説します。

301の概要については以下の記事をご覧ください。

目次

Apacheでリダイレクトを設定する場所

Apacheでリダイレクトを設定する方法は、主に2つあります。メリット・デメリットがあるため、エンジニアに依頼できる環境であれば判断は丸投げするのがよいです。マーケターが自分で設定する場合には.htaccessでの設定が推奨です。

.htaccessファイル: サイトの特定のフォルダ内に設置する設定ファイルです。エンジニアでなくてもアクセスしやすい場所にあり、サイト全体ではなく「特定のディレクトリ単位」で制御する場合によく使われます。

httpd.conf(サーバー設定ファイル): サーバー全体を管理するファイルです。パフォーマンス面では有利ですが、書き換えにはサーバーの再起動が必要な場合が多く、通常はエンジニアが管理します。

基本的には.htaccessファイルへの追記を検討しましょう。ただし、サーバーの設定によっては.htaccessが無効化されている場合もあるため、事前に「.htaccessで設定しても良いか」をエンジニアに確認するのがスムーズです。

【ケース別】301リダイレクトの記述例

代表的な設定パターンを紹介します。

① 特定のページをリダイレクトする場合

特定の旧ページから新ページへ、パス(URLの後ろ部分)を維持して転送します。

Apache

Redirect 301 /old-page https://example.com/new-page

注意点: この記述は「前方一致」で動作します。
挙動: /old-page/info にアクセスした場合、自動的に https://example.com/new-page/info へ転送されます。

② 1ページのみを完全に一致させて転送する場合

「前方一致」ではなく、そのURLだけをピンポイントで飛ばしたい(下の階層に影響を与えたくない)場合は、RedirectMatch を使用します。

Apache

RedirectMatch 301 ^/old-page$ https://example.com/new-page

ポイント: ^(開始)と $(終了)という正規表現の記号を使うことで、URLの完全一致を指定しています。

ドメイン全体をリダイレクトする場合

サイトのURL自体(ドメイン)が変わる場合に、すべてのページを新ドメインの対応するページへ飛ばす設定です。

Apache

Redirect 301 / https://new-site.com/

挙動: old-site.com/contact は new-site.com/contact へ自動的に転送されます。

設定時の注意点:サイト停止のリスクを避ける

Apacheの設定ファイルは、非常に強力です。一文字でも記述ミスがあると、サイト全体が「500 Internal Server Error(内部サーバーエラー)」となり、閲覧できなくなる可能性があります。

作業前に必ず書き換える前のファイルを必ず保存してバックアップをとっておきましょう。

エンジニアへ依頼する前に「正しく要望を伝える」ための3つのチェックリスト

依頼する際は、以下の内容を正しく伝えることが重要です。

「301リダイレクト」であることを明記する

一時的な転送(302)ではなく、SEO評価を引き継ぐ「恒久的(301)な転送」であることを明確に伝えます。これだけで、エンジニアは設定の重要度と適切な記述方法を理解できます。

「Webサーバー(Apache)側での設定」を希望する

WordPressのプラグインやHTMLのメタタグではなく、サーバーレベル(.htaccessなど)で設定してほしい旨を伝えます。サーバー側での処理は、ユーザーの体感速度やSEOの観点から最も信頼性が高い方法です。

転送範囲と仕様を「具体化」して共有する

以下の3点をスプレッドシート等にまとめ、エンジニアに渡すのが最も確実です。

範囲: 特定の1ページだけか、その配下のディレクトリ(フォルダ)すべてか。
URLの対応表: 「旧URL(A)」に対して「新URL(B)」がどれか一目でわかるリスト。
パラメータの扱い: 広告などで使う ?ad=123 といった末尾の文字列を引き継ぐ必要があるかどうか。

 正しく設定されたか確認する方法

設定が完了したら、以下の手順で正しく動作しているか確認してください。

1. シークレットモードで旧URLにアクセス

新URLに自動で切り替わるか確認します。

2. HTTPステータスチェッカーを使う

外部ツール(「外部 301チェック」などで検索)を使い、応答コードが「301」になっているか確認します(「302」や「200」はNGです)。

3. サーチコンソールで報告

ドメイン移転の場合は、Google Search Consoleの「アドレス変更ツール」を使用して、Googleに公式に通知しましょう。

まとめ

301リダイレクトは、サイトの検索評価を維持しながらユーザーを正しく導くための不可欠な設定です。Apacheでの実装には複数の手法がありますが、転送範囲(前方一致か完全一致か)に応じて適切なディレクティブを選択することが、トラブルを防ぐ鍵となります。自ら設定する場合もエンジニアに依頼する場合も、記述ミスがサイト停止を招くリスクを理解し、必ず事前のバックアップと反映後のステータス確認を徹底してください。

よかったらシェアしてね!
  • URLをコピーしました!
目次