ここのサイトの話ですが、サブドメインで運用していたWordPressを、新ドメインを取得してサイト丸ごと引っ越しました。新ドメインサイト公開と同時に、旧サブドメインへのアクセスを、全て新サイトへリダイレクトさせる.htaccessの記述方法のご紹介です。ネットでググってもそのものズバリがなかなか見つからなかったので自分用の備忘録でもあります。
このページの目次
前提的なもの
- パーマリンクはそのまま、ドメインだけ変更
- 永久的なサイト移転のため、301リダイレクト
- 移転のお知らせ等なしでリダイレクト
- WEBサーバーはapache2でmod_rewriteモジュールが有効になっている
- WordPressサイト同士の引っ越し
.htaccessへの追記内容
旧サイトのWordPressインストールディレクトリー直下にある.htaccessファイルの先頭に4行追加しました。(2016/07/31追記)http://〜とhttps://〜の両方ともリダイレクトさせる記述に変更しました。リダイレクト先をサイトSSL化に合わせてhttpsに変更しました。
#サイト引っ越しリダイレクト始まり RewriteCond %{HTTP_HOST} ^(def4\.ikt-s\.com)(:80)? [NC] RewriteRule ^(.*) https://def-4.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^(def4\.ikt-s\.com)(:443)? [NC] RewriteRule ^(.*) https://def-4.com/$1 [R=301,L] #終わり
旧サブドメイン | http://def4.ikt-s.com |
新ドメイン | https://def-4.com |
ここのサイトの場合の記述です。当然ですが、ドメイン名の部分はご自身のドメインに合わせて書き換える必要ありです。
記述方法は参考サイトそのままです。
今回はサブドメインのため2行で済みましたが、メインサイトの場合はwww.有り無しで2パターン4行必要です。(詳しくは参考サイトをご覧ください。)
mod_rewriteモジュール利用
1行目のRewriteCondで条件指定して、2行目のRewriteRuleでリダイレクト先を指定しているようです。私も詳しくないですが、興味のある方はコチラ。(英語サイトです。)
301リダイレクト推奨
googleが.htaccessに301リダイレクトを設定するのが、URL変更時の最善の方法であると言っているのであれば、それ以外の選択肢は無いでしょう。サイトの評価もそのまま引き継がれるようです。
リダイレクトプラグインは使えなかった
WordPressのプラグインで301リダイレクト設定が出来ないかいくつか試してみましたが、サイト丸ごとリダイレクトは出来ませんでした。私の設定方法が悪いかもしれませんが、リダイレクト系プラグインは個別ページを細かく指定してリダイレクトさせるには便利ですが、サイト丸ごとリダイレクトには向いてないようです。
上手く動いてくれています
とりあえず上のアイキャッチ画像のように、.htaccessにリダイレクトの設定をした瞬間から、旧サイトのアクセスは無くなりました。旧サイトのアクセスと同じくらいのアクセスが新サイトに来ているようなので、上手く動いてくれているようです。