@lexstile

Как реализовать подобную пагинацию на php?

Подскажите, пожалуйста, как реализовать подобного рода пагинацию? (см. ниже)
На одном западном сайте видел следующую пагинацию:
Допустим, мы находимся на странице /catalog/
При клике на ссылку пагинации открывается страница /catalog/page/2/
НО, если мы копируем эту ссылку и вставляем в строку браузера - получаем 403 код ответа.
Каким образом можно добиться подобного эффекта?
Задача: закрыть доступ к страницам пагинации, если перешел не по ссылке.
  • Вопрос задан
  • 200 просмотров
Решения вопроса 2
DevMan
@DevMan Куратор тега PHP
сделать можно, без особых проблем. но при этом вы напрочь убьёте часть юзеров. это вам надо?
Ответ написан
serginhold
@serginhold
Какая-то ненормальная пагинация.
А так два варианта:
1) запоминать, в той же сессии например (или ещё где)
2) проверять $_SERVER['HTTP_REFERER']

В любом случае нет понятия "переход по ссылке", есть откуда пришли. Так что если прям надо запомнить что был click по ссылке, надо обрабатывать click тем же js+ajax, а после уже перенаправлять. Какие-то извращения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Adamos
@Adamos
Например, делать это не на РНР, а на JS (подменяя адрес в браузере, но не переходя реально по ссылкам).
Ответ написан
leha_gorbunov
@leha_gorbunov
Программист
Проверять с какой страницы был переход в переменной $_SERVER['HTTP_REFERER']
Ответ написан
Ninazu
@Ninazu
Такое делается не специально, это скорее рукожопы сделали плохой роутинг на JS в SPA. Настоятельно не рекоммендую такое повторять, ничего хорошего от отсутсвия прямых ссылок не ждите. Ну или напишите зачем оно вам, может вы не в ту сторону копаете вообще?

P.S. На ServerSide можно сделать через цепочку хешей
Ответ написан
Комментировать
поисковые роботы не смогут ходить на такие страницы, могут быть проблемы с индексацией
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы