Способы отслеживания ссылающейся страницы для создания других ссылок?

StackOverflow https://stackoverflow.com/questions/1085329

  •  23-08-2019
  •  | 
  •  

Вопрос

Мне нужно иметь возможность определить, с какой страницы пользователь только что перешел, чтобы определить, какие ссылки отображать, такие как панировочные сухари или ссылки на предыдущий следующий элемент.Это, по сути, HTTP_REFERER функциональность в PHP, но мне нужен способ отслеживать ее на нескольких страницах.Мне также нужно "поддержать" кнопку "Назад".

Я заметил, что Facebook использует параметр запроса / получения "ref" для отслеживания ссылающейся страницы.(Они также избегают перезагрузки всей страницы, используя вместо этого AJAX, но у меня нет бюджета, чтобы сделать это прямо сейчас.) Кроме того, сайт, над которым я работаю, должен быть проиндексирован Google, поэтому этот метод также потребует, чтобы я добавил тег канонической ссылки.

Мне интересно, является ли параметр запроса ref / referrer лучшим методом или какие другие варианты существуют?

Это было полезно?

Решение

Если вы хотите панировочные сухари, вам не следует использовать HTTP_REFERER вообще.Это должен быть логичный путь, чтобы добраться туда, где они есть, независимо от того, откуда они пришли, например User > Albums > AlbumName > Photo, даже если они пришли по прямой ссылке, которую им дал их друг.Тем не менее, если вы действительно хотите вернуться на несколько страниц назад, просто сохраните их в виде массива в SESSION переменная.

Я почти уверен, что Facebook просто использует ссылку GET переменная для сбора некоторой статистики о том, какие кнопки используют пользователи, поскольку существует несколько способов перехода на одну и ту же страницу.

Ничто из этого не должно нарушать работу кнопки "Назад" или пересекаться с вашим каноническим тегом.


Из комментариев: Вы могли бы использовать ?ref=blah тег или переменные сеанса, ($_SESSION['history'][0] = $_SERVER['HTTP_REFERER'] или REQUEST_URI).Используйте все, что вам покажется проще всего.Переменные сеанса зависят от файлов cookie или передачи идентификатора через URL-адрес, просто загромождают URL-адрес и могут быть переданы друзьям.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top