2017-01-21 10 views
0

古いウェブサイトは深く埋め込まれたURLを持つフォーラムソフトウェアを運営しています。それはwww.domain.comだと信じさせ、リンクの絶対URLを返します。 www.domain.comの残りの部分を引き継ぐために新しいサーバーを稼働させ、古いウェブサイトのフォーラムを通してプロキシを使用して、既存のURLをすべてSEOやブックマーク用に維持する必要があります。古いウェブサイトは、Apache 2.4で新機能経由でプロキシする方法。古いウェブサイトはwww.domain.comの下で動作する必要があります。

実際、新しいサーバーをテストモード(プライベート/ etc/hostsファイルまたは開発者用のプロキシを使用)で実行しているため、「古い」サイトはwww.domain.comのままにしておかなければなりません一般市民にとってはより長いが、新しいサイトをプロキシすることは、ライブになるときと同じように行われる。各応答のためにhttp://www.domain.com/forum

古いサーバー上の1つの小さなヘルプApacheのディレクティブ「にServerAlias old.domain.com」は、そのドメインがリクエストで使用されるときフォーラムエンジンから正しいページを返しますが、立地と302見つけヘッダーと。 (これは私が考えて、apacheのにServerNameのwww.domain.comにServerAlias old.domain.comで任意のWebサイトの典型的である。)

さらに、我々のように、mod_rewriteのが賢明なパフォーマンスを移動するための方法ではないようですフォーラムで一度に500〜1000人のユーザーが「ライブ」になるので、私たちはそれを避けようとしています。

(この質問は、私が一日中調査した他のリダイレクトの質問とは異なります。他の質問では、www.domain.comを使用して古いサーバーを維持することについて議論していますが、DNSを指すことはありません。 。その設定としてwww.domain.comを保つ)

答えて

0

は、この上に多くの時間を過ごし、利益のために他人を許可するために、ここで自分の質問に答える:

リンク上の絶対URLはOKです - www.domain。 comは大丈夫です。それは、もちろん、www.domain.com/forum/へのリクエストをプロキシする新しいサーバーを指しています。だから私たちは、ヘッダーやHTML本文にこれらのURLを書き直すことについて心配する必要はありません。 (SEOスコアに影響し、異なるURLの重複コンテンツとしてマークされるため、old.domain.comを検索エンジンまたはユーザーに単に公開することはできません)。使用

ProxyPass /forum/ http://old.domain.com/forum/ 

はうまく機能し、古いサーバは、私たちにold.domain.comが、www.domain.comを返されていないとして、私たちもにProxyPassReverseは必要ありません。

大きな問題は302の場所が見つかりました:www.domain.com/forum/ヘッダー - それを取り除かないと、ブラウザはそのURLをリロードし、proxyPassを再度押して、リダイレクトが多すぎます。

<Location "/forum/"> 
    Header unset location 
</Location> 

と、これはProxyPassディレクティブの後に設定にする必要があります我々は唯一のその場所のためにしてmod_headersディレクティブを使用することを取り除くために

。 (ドキュメントの内容にもかかわらず、ヘッダーディレクティブは内部で動作します)。

はスラッシュURL末尾なし/フォーラムを解決するために、我々は、これはProxyPassディレクティブの前に置く:

Redirect "/forum" http://www.domain.com/forum/ 

一つの問題は、そうでない場合は、いくつかのクッキーや何とか台無しと拒否/無視されている資格情報をログインされていることで残っています。フォーラムは、例えば、クッキーの内容を接続IPと比較している可能性がありますが、これは一般的な解決策の問題よりも、フォーラムの操作の機能です。

関連する問題