如何从重定向的URL获取引用者

时间:2012-01-17 17:11:11

标签: ruby-on-rails ruby-on-rails-3 http-referer http-redirect

我有一个网址

domain.com/a

重定向到

domain.com/controller/action/a

如何在我的domain.com/controller/action/a操作中获取引荐来源(即domain.com/a)?

一种选择是将引用域添加为参数。

domain.com/controller/action/a?referral=domain.com/a

有没有办法获取引荐来源而不将旧的引用者作为参数传递。就像我们从**request.referrer**获得的那样。 request.referrer似乎不适用于重定向的URL。

我正在使用Ruby on Rails进行开发。

4 个答案:

答案 0 :(得分:11)

我将引用路径路径存储在重定向之前的会话中

session[:referrer]=url_for(params)

然后通过session[:referrer]在我需要的地方使用它。

答案 1 :(得分:9)

我相信您正在寻找request.referrer媒体资源:http://rack.rubyforge.org/doc/classes/Rack/Request.html#M000280

答案 2 :(得分:4)

我们在application_controller.rb中使用此行来保存访问者访问我们网站时的http_referer:

session[:http_referer] = request.env["HTTP_REFERER"]

稍后,我们会将值保存到我们的模型中进行跟踪。

答案 3 :(得分:0)

可能会迟到,但要加上。我认为使用它后删除会话非常重要。

db.test.find({'$text': {'$search': 'some words'}}, {'score': {'$meta': 'textScore'}})