Как получить ссылку от перенаправленного URL-адреса

У меня есть url

domain.com/a

который перенаправляется на

domain.com/controller/action/a.

Как мне получить реферер (например, domain.com/a) в моем действии для domain.com/controller/action/a?

Один из вариантов заключался в том, чтобы добавить ссылочный домен в качестве параметра.

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

Есть ли способ получить реферер, не передавая старый referrer в качестве параметра. Как мы могли бы получить от **request.referrer**. request.referrer, похоже, не работает с перенаправленными URL-адресами.

Я использую Ruby on Rails для моего развития.

Ответ 1

Я сохраняю путь реферера в сеансе перед перенаправлением

session[:referrer]=url_for(params)

а затем используйте его, где мне это нужно, через session[:referrer].

Ответ 3

Мы используем эту строку в нашем приложении application_controller.rb для сохранения http_referer, когда посетитель посещает наш сайт:

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

Позже мы сохраним значение в нашей модели для отслеживания.

Ответ 4

Может быть, поздно, но просто добавить. Я думаю, что важно удалить сеанс после его использования.

redirect_to session.delete(:referrer)