我创建了一个过滤器,以便拦截所有控制器操作并将请求转发到其他服务器。 我需要根据用户代理暂时重定向。
中有以下内容class DealsFilters {
def filters = {
all(controller: '*', action: '*') {
before = {
if (someConditionHere)
{
redirect(url:"http://www.mysite2/")
return
}
}
}
}
我想知道的是请求及其所有参数是否正确传递给mysite2?
即mysite1充当服务并接收获取用户数据,更新交易,添加新用户等的请求...
mysite2是mysite1的新版本(在测试mysite2之后,mysite1将被淘汰)。
它是否像重定向一样简单?
由于
答案 0 :(得分:3)
我正在使用grails 1.3.7指出lucke84(我应该在原始问题中说明这一点)。
发现以下链接给了我大部分答案:
Best practice for redirecting from one web domain to another in Grails?
redirect(url:"http://localhost:8080${request.forwardURI}?${request.queryString}",params:params)
答案 1 :(得分:1)
documentation表示如果使用url参数执行重定向,则您的网址应包含发送新请求所需的所有信息。
我想你应该重新创建你的网址,或多或少是这样的:
redirect(base: 'http://www.mysite2/', controller: params.controller, action: params.action, params: params)
未经测试,但它应适用于大多数情况。让我知道:))