繁体   English   中英

将服务请求重定向到另一台服务器

[英]Redirect service requests to another server

我创建了一个过滤器,以便拦截所有控制器操作并将请求转发到其他服务器。 我需要根据用户代理暂时重定向。

所以我在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将被解除)。

它是否像重定向一样简单?

谢谢

我正在使用grails 1.3.7指出lucke84(我应该在原始问题中说明这一点)。

找到以下链接给了我大部分答案:
在Grails中从一个Web域重定向到另一个Web域的最佳实践?

redirect(url:"http://localhost:8080${request.forwardURI}?${request.queryString}",params:params)

文档说如果使用url参数执行重定向,则您的url应包含发送新请求所需的所有信息。

我想你应该重新创建你的网址,或多或少是这样的:

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

没有经过测试,但它应该适用于大多数情况。 让我知道 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM