Подскажите, пожалуйста, как реализовать подобного рода пагинацию? (см. ниже)
На одном западном сайте видел следующую пагинацию:
Допустим, мы находимся на странице /catalog/
При клике на ссылку пагинации открывается страница /catalog/page/2/ НО, если мы копируем эту ссылку и вставляем в строку браузера - получаем 403 код ответа.
Каким образом можно добиться подобного эффекта? Задача: закрыть доступ к страницам пагинации, если перешел не по ссылке.
Lander, это да, но это же и не нужно?!
Достаточно того, что будут индексироваться карточки товаров, которые должны быть прописаны в sitemap.xml.
Если бы мы их пускали дальше, все равно нужно было бы прописывать канонические url
Lander, думаю, на это есть категории товаров, уж точно не страницы пагинации, которая будет иметь дополнительный уровень вложенности.
Или я не прав, поправьте?! :)
Какая-то ненормальная пагинация.
А так два варианта:
1) запоминать, в той же сессии например (или ещё где)
2) проверять $_SERVER['HTTP_REFERER']
В любом случае нет понятия "переход по ссылке", есть откуда пришли. Так что если прям надо запомнить что был click по ссылке, надо обрабатывать click тем же js+ajax, а после уже перенаправлять. Какие-то извращения.
Такое делается не специально, это скорее рукожопы сделали плохой роутинг на JS в SPA. Настоятельно не рекоммендую такое повторять, ничего хорошего от отсутсвия прямых ссылок не ждите. Ну или напишите зачем оно вам, может вы не в ту сторону копаете вообще?
P.S. На ServerSide можно сделать через цепочку хешей