2009-03-17 11 views
0

特定の機能を提供する古いコードベースで実行されている従来のWebサイトがあるとします。後継者のウェブサイトは稼動しており、すべての古い機能などを提供しています。しばらくの間、クリックする気になるユーザーのために、新しいサイトを指す古いサイトのHTMLリンクがあります。レガシーウェブサイトから新しいウェブサイトにユーザーをリダイレクトするとき、カスタムウェルカムメッセージを表示するかどうかを検出する最善の方法は何ですか?

レガシーサイトの寿命が近づいています。たとえば、301または302リダイレクトなど、新しいサイトにユーザーを自動的にリダイレクトしたいとします。しかし、ユーザーがこのリダイレクトに遭遇したときに、新しいサイトにフレンドリーなメッセージを表示して、それを歓迎して、古いバージョンが表示されない理由を説明したいとします。

ユーザーがHTMLリンクをクリックすると、HTTP_REFERERヘッダーが設定され、その値を使用してウェルカムメッセージがトリガーされます。しかし、3XXリダイレクトコードを使用している場合は、同じことは当てはまりません。 「HTTP 1.1仕様が明確に述べている::トップGoogleはこの問題のためにヒット

が、これは言っている。3XXコードが指定されている場合は、何の リファラー値が渡されない(eventualy、3XXサイト指さURL) " (http://www.usenet-forums.com/apache-web-server/37811-how-set-referer-redirect.html#post145986

しかし、私はこの文を仕様書(http://tools.ietf.org/html/rfc2616)ですばやく読んで見つけることができませんでした。

誰でもこの機能を実現する適切な方法を提案できますか?

注:これはすべてを網羅する解決策ではありません。一部のクライアントはプライバシー上の理由からHTTP_REFERERヘッダーを送信することさえありませんが、議論のために、その使用例は無視してみましょう。

答えて

6

まず、これは302リダイレクトではなく301である必要があります。リダイレクトは永続的なので、そのリダイレクトを示す必要があります。リダイレクトを指定する方法については、urlにparmを追加するだけです。代わりにhttp://www.newsite.comにリダイレクトする、あなたのユーザーをリダイレクトすることを計画していますが、あなたのURLまでの「醜い」したくない場合は、古いを打つとき、あなただけの独自のカスタムヘッダーを設定する方法http://www.newsite.com?FromOldSite=Y

1

特定の起動ページにリダイレクトできますか? http://oldsite.com/desired/pageにアクセスしようとすると、http://newsite.com/welcome?nextpage=/desired/pageに送信してください。ウェルカムページはメッセージを表示してから、コンテンツに渡すことができます。または、URLに?show_welcome=trueという名前の新しいページを右に送信することもできます。

0

わからないにリダイレクト新しいサイトで確認してください。