.htaccessによる301リダイレクトの設定方法

.htaccessによる301リダイレクトの設定方法
目次
WebサイトのURL構造を変更した際や常時SSL化(https化)などで、旧URLから新URLへ恒久的に転送するには、301リダイレクトの設定が必要です。ここでは、.htaccess
を使った301リダイレクトの方法について、基本から応用までわかりやすく解説します。
301リダイレクトとは?
301リダイレクトとは、特定のURLから別のURLに恒久的に転送するためのHTTPステータスコードです。主に次のような場面で使われます:
- サイトのURL構造の変更(/old → /new)
- ドメインの変更(example.com → newdomain.com)
- SSL化によるhttp → https の転送
検索エンジンに新しいURLを正しく伝えるためにも、SEOの観点で非常に重要です。
.htaccessでの基本的な書き方
以下は.htaccess
に記述する基本的な301リダイレクトの書き方です:
Redirect 301 /old-page.html https://example.com/new-page.html
/old-page.html
にアクセスがあった場合、https://example.com/new-page.html
に転送されます。
ドメイン全体を別のドメインへリダイレクト
旧ドメインから新ドメインにサイトを移転した場合、以下のように書きます:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule ^(.*)$ https://newdomain.com/$1 [R=301,L]
この設定により、旧ドメインへのすべてのアクセスは新ドメインに転送されます。
httpをhttpsにリダイレクトする方法
常時SSL化のためには、http から https へリダイレクトさせる設定が必要です:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
この設定により、http://example.com にアクセスしても https://example.com に自動転送されます。
注意点
.htaccess
ファイルはサーバー設定に強く影響するため、編集前に必ずバックアップを取りましょう- リダイレクトループが発生しないよう、条件設定には注意が必要です
- 不要なリダイレクト設定を重複させないように整理しましょう
まとめ
- 301リダイレクトは恒久的な転送に使用する
- .htaccessで簡単に設定できる
- URL構造の変更やSSL化に必須の処理
ALTERNATE toolsでは、リダイレクト設定用のコードジェネレーターも今後公開予定です。