2009-08-04 4 views
0

私のレールアプリの1つ(乗客とApacheを使用している)がサーバホストを変更しています。私は両方のサーバー(テストの新しいサーバー)とDNS TTLを5分間実行している。 DNS解決者がTTLを少し無視し、DNSを新しいサーバーに更新した後にしばらくの間、古いIPをキャッシュすることがあるということが、同僚によって聞かれました。Rails/Passenger/Apache:サーバの移動後に失礼なDNSを捕まえるための簡単な一回URLリダイレクト

DNS上でスイッチをスローした後、古いサーバーをハックして、すべての訪問者の新しいサーバーのIPアドレスに強制的にリダイレクトします。明らかに、私はApacheやアプリケーション自体の中でいくつかのリダイレクト(301,302)を行うことができます。私は基本的なHTTP URLのリダイレクトが動作すると思っていたので、私はチェックインとコードのデプロイをしたくないので、この1つのインスタンスのためだけにappメソッドを避けたいと思います。 Buuttt、Googleが古いサイトなどを訪問するべきSEOの意味があります。

検索エンジンの正しさを維持しながらリダイレクトを達成する最良の方法は?

答えて

1

私は質問があると思います - どこにリダイレクトしますか?ドメイン名にリダイレクトする場合、ブラウザ(またはボット)は同じ古いIPアドレスを取得し、リダイレクトループで終了します。

IPアドレスにリダイレクトすると、誰かのブラウザでは非常にユーザーフレンドリーに見えません。

私は個人的に何もしません。ボットがあなたのサイトにアクセスしようとするとエラーが発生することがありますが、数日間で「SEOの被害」なしにすべて動作するはずです

+0

新しいサーバーのIPアドレスにリダイレクト –

+0

@Matt - その時点でスパイダーがピックアップしたページはドメイン名ではなくIPアドレスでラベル付けされる可能性があるという問題があります。だから、誰かがGoogleで検索結果を見ると、http://yourdomain.com/your_page.htmではなくhttp://192.168.1.1/your_page.htmが表示されます。私は、スパイダーが検索結果に「ドメインレス」ページを持つリスクよりも数日後に正しくページを選択するのを待つほうがよいと思うだろう。 –

0

1つの解決策は、書き換えに代わってMod_Proxy新しいホストへのトラフィック。この方法では、 "SEOの被害"は見られません。

0

rinetdを使用して、古いサーバからのIPトラフィックをIPレベルで新しいサーバにリダイレクトしました。 Webサーバーや仮想ホストの設定は必要ありません。非常に円滑に実行され、どのクライアントにも完全に透過的です。

関連する問題