ごきげんよう
今回は、ドメイン変更によるリダイレクト対応を.htaccess書き換えで対応してみましたので残しておきます。
1. ドメイン変更によるリダイレクトが必要になった
このブログのドメインを変更したんですが、その際にブログをサブディレクトリからルートに移動させました。
「chduki.secret.jp/blog/」から「asuhen.net」へURLが変わってます。ディレクトリの階層も変わってます。
このブログの移動とドメイン変更そのものは難しくないんですが、旧ドメインでは検索流入やはてなブックマークされていたり、他の紹介サイトにも引用されていたりするのでリダイレクトが出来ないと悪いなと思いました。
しかし、旧ドメインを正しい新しいドメインに飛ばす事に苦労しました。初めてだったので本当にわからなかったのです。
既にプラグインで失敗しているので今回は「.htaccess」で制御しようと考えました。
ミスしてもファイル置き換えれば良いという点はありがたいです。
2. ドメイン変更によるリダイレクト対象
ドメインを変更したので昔のドメイン(正確にはサブディレクトリを含むURLです)からの検索流入対策が必要です。
今回、独自ドメインは旧ドメインと同じ階層に設定しているので「chduki.secret.jp=asuhen.net」となっています。
ちょっと待った。ドメインも違えば階層も違うじゃないか。
ということで下記の対策が必要になります。
- 1. 旧ドメインから新ドメインへのリダイレクト
- 2. 別ディレクトリ階層(/blog/)からのURLリダイレクト
の2つになります。
1つ目はほとんどの人がドメイン変更時にすることで、全く同じ構成でドメインが変更した場合の対応。
2つ目は私のようにドメイン変更とともにディレクトリ移動した場合です。
次にリダイレクトの設定を説明しますが、このブログのURLを使って説明しているので各自環境に合わせて書き換えて使って下さい。
また、「.htaccess」の元のファイルはバックアップしておきましょう。
WordPressの場合はWordPress専用の記載部分があります。消さないようにご注意ください。
3. 旧ドメインから新ドメインへのリダイレクト
1つ目の旧ドメインと新ドメインのリダイレクトは簡単です。
サイトトップがある場所の「.htaccess」に下記を追加しましょう。
[html]
RewriteCond ^(chduki\.secret\.jp)(:80)?
RewriteRule ^(.*) https://asuhen.net/$1 [R=301,L]
[/html]
これで、ルートの部分のドメインリダイレクトは完了です。
因みにこれはmod_rewriteの機能を使うもののようです。
これはWebサーバーの拡張機能らしく、使えないサーバーもあるようです。
もし、使えない方は次の「別ディレクトリ階層からのリダイレクト」で別の方法を示します。
4. 別ディレクトリ階層からのリダイレクト
別ディレクトリ階層(/blog/)からのURLリダイレクトを行います。
この場合は/blog/の階層なので、先に説明した場所とは違い、「chduki.secret.jp/blog/」の階層にある「.htaccess」に下記を追加しましょう。
ここでは先に示したものとは別に簡単に一行で書けるものを示します。
[html]
Redirect permanent /blog/category/ https://asuhen.net/category/
[/html]
これで/blog/category/より上の記事は全て「https://asuhen.net/category/」へリダイレクトされます。
これはカテゴリの例ですが、各自のパーマリンク設定に合わせて記事のリダイレクトもどうぞ。
あとはFTPでサーバーに置いて確認しましょう。リダイレクトされているはずです。
ブログへアクセス出来なくなったり、変な挙動を確認したらすぐに「.htaccess」の元ファイルを反映し、原因を確認しましょう。
5. 最後に
今回は、ドメイン変更によるリダイレクト対応を.htaccess書き換えで対応してみましたのでメモとして残しました。
多くの人はブログを始める段階でブログを置く階層は決めてしまってドメインが変わっても変えないというのが基本だと思います。
しかし、ブログを始める際の説明記事ではサブディレクトリにインストールする説明もあります。
その状態でインストールしたけど、やっぱりルートのディレクトリにしたい。
そんな方々にこの記事が役立てば良いなと思います。
それでは ごきげんよう