Xserverで旧ドメインを301リダイレクトする方法(.htaccess)

旧ドメインから新ドメインへ転送する女子

WordPressサイトを移行するとき、

旧URL

example.com

新URL

sot3.net/tec/

のようにドメインやディレクトリが変わることがあります。

このとき必要になるのが

301リダイレクト(恒久転送)

です。

※この記事では旧ドメインは example.com に置き換えて説明しています。


/sub/ 以外を本番サイトへ転送

今回の構成


example.com

本番
sot3.net/tec/

開発
example.com/sub/

つまり

  • /sub/ は転送しない(これまでの練習用/開発用をサブディレクトリに変更した)
  • それ以外のアクセスはすべて本番サイトへ転送

という設定を作ります。


WordPress開発環境を /sub/ に作る方法については
前の記事で詳しく解説しています。

WordPress開発環境を /sub/ に作る方法(検索エンジン対策付き)
WordPressサイトの運営において、開発環境を本番サイトとは別に/sub/で作成し、検索エンジンにクロールさせない方法や注意点を詳しく解説しています。

.htaccessの編集

Xserverのサーバーパネルから

ホームページ

.htaccess編集

を開きます。

「!この機能は上級者向けの機能です」と表示される場合は内容を読んで「閉じる」を押す。

編集する場所

example.com/public_html/.htaccess

いきなり301を入れない

ここが重要です。

301は

恒久移転

つまり

ブラウザに強くキャッシュされます。

そのため
動作確認前に301を入れるのは危険です。

まずは 302でテストします。


テスト用(302)

WordPressの自動ルールより先に処理するため、

.htaccessの先頭に追加します。

追加コード

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/sub/
RewriteRule ^(.*)$ https://sot3.net/tec/$1 [R=302,L]

この段階では

  • /sub/ は転送されない
  • それ以外は本番へ転送

という動作になります。

注意点

https://sot3.net/tec/$1

$1 を忘れると

すべてトップページに転送されます。


最終的に301へ変更

動作確認が終わったら
302を 301に変更します。

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/sub/
RewriteRule ^(.*)$ https://sot3.net/tec/$1 [R=301,L]

動作イメージ

旧URL

example.com/post1

新URL

sot3.net/tec/post1

example.com/category/news

sot3.net/tec/category/news

URL構造を保ったまま転送できます。


301と302の正しい使い分け

リダイレクトには主に2種類あります。

状況使用コード
恒久移転301
テスト中302
一時的な退避302
キャンペーン限定転送302

今回のケース

今回の構成は

旧URL → 新URL

なので

恒久移転

つまり

301が正解です。


ただし作業中は302が安全

開発者がよくやる方法。

最初は

[R=302,L]

でテストします。

問題なければ

[R=301,L]

に変更します。

理由

301はブラウザにキャッシュされるからです。

設定ミスをすると

「直したのにまだ転送される」

という現象が起きます。

これはバグではなく
ブラウザキャッシュです。


結論

今回のケースでは

最終形は301

作業中だけ302

これが最も安全で合理的な選択です。


まとめ

今回やったこと

  • .htaccessを編集
  • /sub/ 以外を転送
  • まず302でテスト
  • 問題なければ301へ変更

これで

旧ドメインから新サイトへ安全に転送

できます。


この後は次の関連記事WordPress移行でSEOを壊さないチェックリストがオススメです。

WordPress移行でSEOを壊さないチェックリスト|canonical・XMLサイトマップ・404監視まで完全解説
WordPressの移行時は、URL変更によりSEOが影響を受けるため、canonicalタグやXMLサイトマップ、301リダイレクトなどの適切な設定が必要です。

コメント

PAGE TOP