如何在laravel中获取http引用?

2022-08-30 17:28:54

我正在尝试获取用户的推荐人。就像他们来自Facebook,youtube,谷歌或其他任何东西一样。

现在我尝试了这样的东西:

$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,如果是这样,我想给用户一些额外的“点击”来排名。类似于小型联盟系统。


答案 1

这似乎可以完成您正在寻找的:

Request::server('HTTP_REFERER').

您可以在此处阅读 Api DOC:

https://laravel.com/api/8.x/Illuminate/Http/Request.html#method_server


答案 2

Laravel获取引用者的方式:

request()->headers->get('referer');

推荐