3

すべてのコントローラーアクションをインターセプトしてリクエストを別のサーバーに転送できるように、フィルターを作成しました。ユーザーエージェントに基づいて一時的にリダイレクトする必要があります。

だから私はhttp://www.mysite1.comに次のものを持っています

class DealsFilters {

    def filters = {
    all(controller: '*', action: '*') {
        before = {
                if (someConditionHere)
                {
                    redirect(url:"http://www.mysite2/")
                    return
                }               
        }
    }       
}

私が疑問に思っているのは、リクエストとそのすべてのパラメータがmysite2に正しく渡されるのでしょうか?
つまり、mysite1はサービスとして機能し、ユーザーデータの取得、取引の更新、​​新しいユーザーの追加などのリクエストを受け取ります。

mysite2はmysite1の新しいバージョンです(mysite2がテストされた後、mysite1は廃止されます)。

リダイレクトと同じくらい簡単ですか?

ありがとう

4

2 に答える 2

3

私はlucke84に指摘されたようにgrails 1.3.7を使用しています(これは元の質問で述べるべきでした)。

次のリンクが見つかり、ほとんどの答えが得られました:
Grailsで1つのWebドメインから別のWebドメインにリダイレクトするためのベストプラクティス?

redirect(url:"http://localhost:8080${request.forwardURI}?${request.queryString}",params:params)
于 2012-12-06T14:30:47.073 に答える
1

ドキュメントには、url パラメータを使用してリダイレクトを実行する場合、新しいリクエストを送信するために必要なすべての情報が URL に含まれている必要があると記載されています。

多かれ少なかれ次のように、URLを再作成する必要があると思います。

redirect(base: 'http://www.mysite2/', controller: params.controller, action: params.action, params: params)

テストされていませんが、ほとんどの場合に機能するはずです。お知らせ下さい :)

于 2012-12-04T16:24:42.097 に答える