Laravel 5.4 получить Referer

Я пытаюсь получить Referer моих пользователей. Например, если они происходят из facebook, youtube, google или чего-то еще.

Теперь я пробовал что-то вроде этого:

$referrer = $this->request->headers->get('referer'); $url = $referrer ? $this->to($referrer) : $this->getPreviousUrlFromSession(); return $url ?: $this->to('/'); // returns: Method referer does not exist. 

Эта:

  return $_SERVER["HTTP_REFERER"] // returns Undefined index: HTTP_REFERER 

что:

 session_start(); if ( !isset( $_SESSION["origURL"] ) ) $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"]; // returns Undefined index: HTTP_REFERER 

Но ничего не получилось, как ожидалось.

Кто-нибудь знает, как я могу проверить референта?

Мне нужно это, потому что я хочу проверить, исходит ли пользователь от определенных URL-адресов, и если да, я хочу дать пользователю дополнительные «клики» для ранжирования. Что-то вроде небольшой партнерской системы.

Похоже, что это сделает то, что вы ищете:

 Request::server('HTTP_REFERER'). 

Вы можете прочитать Api DOC здесь:

http://laravel.com/api/5.0/Illuminate/Http/Request.html#method_server

Причина, по которой вы получаете Undefined index: HTTP_REFERER состоит в том, что не все запросы имеют заголовок HTTP_REFERER , а только большинство запросов, поступающих с других веб-сайтов. Если вы посещаете сайт напрямую с URL-адресом, вы не будете отправлять заголовок HTTP_REFERER .

Итак, вы должны проверить, установлен ли заголовок первым.

 if (!isset($_SESSION["origURL"]) && array_key_exists('HTTP_REFERER', $_SERVER)) $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];