ユーザーのリファラーを取得しようとしています。 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を使用してWebサイトに直接アクセスする場合、HTTP_REFERER
ヘッダー。
そのため、ヘッダーが最初に設定されているかどうかを確認する必要があります。
if (!isset($_SESSION["origURL"]) && array_key_exists('HTTP_REFERER', $_SERVER))
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];