2010-10-28 3 views
8

Как вы можете получить HTTP-реферер при перенаправлении с другого веб-сайта, а не когда он нажимает ссылку, поскольку он будет работать для $_SERVER['HTTP_REFERER'], но он не работает, когда пользователь перенаправлен на веб-сайт и реферер будет пустым.Получить HTTP-ссылку в перенаправлении

Каким будет метод получения реферера?

ответ

9

Как вы можете получить HTTP Referrer при перенаправлены с другого сайта

Вы не можете. Если перенаправление происходит под вашим контролем, вы можете добавить исходный референт в качестве параметра, но если внешний перенаправитель не делает этого, у вас нет способа получить информацию.

+0

Aw. Таким образом, нет абсолютно никакого способа узнать, откуда пришел пользователь, когда пользователь перенаправляется? – MacMac

+0

@YouBook, насколько я знаю, нет. –

4

Пример того, как я это сделал. Скажем, у нас есть 3 страницы, одна из которых называется следующей.

page1.com -> page2.com -> page3.com. 

в page2.com получить page1.com с помощью:

$referrer = $_SERVER['HTTP_REFERER'];//=page1.com 

при перенаправлении PAGE3, послать $ реферер в качестве параметра GET

page3.com?referrer=$referrer 

в PAGE3 читать $ реферер от получения.

$initialReferrer = $_GET['referrer'];//=page1.com 
+0

Можно напрямую вызвать 'page3.com? Referrer = page4.com', так что позаботьтесь о проблемах безопасности/пособия. Кроме того, '$ _SERVER ['HTTP_REFERER'] должен быть' rawurlencode'-d перед добавлением к URL-адресу. – Xenos

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

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