旧来使っていたレンタルサーバ(ロリポップ)のサブドメインのサイトを、先月新しい独自ドメインを取得し、新ドメインへの移行設定をしました。結果、新旧ドメインのどちらからでもサイトが見れるようになりました。つまりWebサーバの引っ越しではなく、ドメイン名だけ新規に「追加」された形になっています。
旧ドメインのページランクを新ドメインに移したいと思っており、.htaccessへ301リダイレクトの記述(※)を行ったところ、サイトにアクセスすると無限ループしてるような感じになり、サイトが表示されません。
※.ataccessの中に下記のように一行だけ記述しました
Redirect 301 / http://newdomain-hogehoge.com/
このようなケースの場合、どう記述すれば無限リダイレクトを行わずにページランクを移行できるでしょうか
※回答は具体的にコードで教えてください。
RedirectではなくRewriteを使って以下のように条件付けしてリダイレクトしてやれば良いです。
RewriteEngine on RewriteCond %{HTTP_HOST} !=newdomain-hogehoge.com RewriteRule (.*) http://newdomain-hogehoge.com/$1 [R=301,L]
RedirectではなくRewriteを使って以下のように条件付けしてリダイレクトしてやれば良いです。
RewriteEngine on RewriteCond %{HTTP_HOST} !=newdomain-hogehoge.com RewriteRule (.*) http://newdomain-hogehoge.com/$1 [R=301,L]
リダイレクトで開けました!
後はページランクが引き継がれるのを様子見って事ですね。
ありがとうございました。
「同一Webサーバ」であるので、「Redirect 301」を使ったリクエスト転送はできません。
原理的に、「ページランクを移行」することもできません。
どうしてもページランクを移行したいということでしたら、旧ドメイン用のサーバB(独自ドメインが設定でき、ApacheでRedirectが使えるものなら最小容量でかまわない)を別途用意し、ネームサーバに旧ドメインがサーバBを指すように設定して下さい。
そして、サーバBのルートに、以下の.htaccessを設置して下さい。
Redirect permanent / http://newdomain-hogehoge.com/
ありがとうございます。
旧ドメインはサブドメインなので、自由には移動できないと思うのです。
上の回答方法にあるRewriteを調べたところ、条件も指定できてページランクも
移行されそうな情報に見受けられたのですが、どうなんでしょうか?
>上の回答方法にあるRewriteを調べたところ、条件も指定できてページランクも
>移行されそうな情報に見受けられたのですが、どうなんでしょうか?
301の転送なら、移行されます。
了解です。
ありがとうございます。
リダイレクトで開けました!
後はページランクが引き継がれるのを様子見って事ですね。
ありがとうございました。