14

У меня есть 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.

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

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

+0

@okliv Фактически я забыл, какой из них я использовал для своего кода :). –

ответ

11

хранить путь ссылающейся на сессии перед перенаправлением

session[:referrer]=url_for(params) 

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

+0

Я думаю, что нет других способов – lulalala

4

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

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

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

0

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

redirect_to session.delete(:referrer) 

 Смежные вопросы

  • Нет связанных вопросов^_^