我的应用需要使用两个域。如何保存出现在其中一个域上的参数并使用这些参数重定向到另一个域?此外,参数的值将始终在变化。
domain1.com?param1=true
redirects to
domain2.com?param1=true
我的应用需要使用两个域。如何保存出现在其中一个域上的参数并使用这些参数重定向到另一个域?此外,参数的值将始终在变化。
domain1.com?param1=true
redirects to
domain2.com?param1=true
最好的选择可能是处理上游 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)
这会有一些帮助
request.original_fullpath
感谢大家的帮助。我最终编写了一个操作,它只是创建带有参数的新 URL 作为字符串并重定向:
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