我的应用需要使用两个域名。如何保存出现在其中一个域上的参数,并使用这些参数重定向到另一个域?此外,参数的值将始终在变化。
domain1.com?param1=true
redirects to
domain2.com?param1=true
答案 0 :(得分:0)
可能最好的选择是处理上游Web服务器上的所有域(如nginx)并将请求代理到一个应用程序,而无需直接在Rails应用程序中处理重定向。
像
这样的东西server {
server_name .mydomain.com;
rewrite ^ http://www.adifferentdomain.com$request_uri? permanent;
}
如果您仍需要在Rails端执行重定向,则可以使用redirect_to
执行此操作(至少如果您始终可以说哪个域是目标域)。
redirect_to root_url(host: "adifferentdomain.com", params: request.parameters)
答案 1 :(得分:0)
这将有所帮助
request.original_fullpath
答案 2 :(得分:0)
感谢大家的帮助。我最后编写了一个动作,只需创建新的URL,并将params作为字符串重定向:
def stripe_redirect
subdomain = request.subdomain
if subdomain == 'secure'
params = request.original_fullpath.split("?").second
new_url = "http://www.newdomain.com/auth/stripe_connect/callback?" << params
redirect_to new_url
end
end