lkmrus
@lkmrus
IT-engineer

Как правильно работать с URI запросами в PHP? Как грамотно настроить роутинг?

Я только начал изучать back-end, начал с PHP, так что не пинайте.
Предположим есть страница на сайте https://site.ru/spb/post?id=23
Так вот читал я различные статьи про маршрутизацию в php, и так и не понял как обычно переходят на страницы такие как spb, Допустим это раздел который предназначен для определенного города и там есть какие-то посты с id. Как осуществляется переход на страницу SPB если таких городом много, нужен не код, а объяснить мне какими методами это возможно сделать.
Первый вариант, я так понимаю GET запрос в форме, выглядеть будет https://site.ru/?city=spb/post?id=23, в нем можно убрать лишние символы. таким образом будет строка вида https://site.ru/spb/post?id=23.
Второй вариант, я подозреваю возможно реализовать методом POST, при отправке submit будет отправлять на страницу существующую физически - spb.php затем post.php где будут так же ссылки на посты и снова работа с GET запросами, чтобы вывести страницы.
А есть ли еще варианты перехода на страницы, которых не существуют физически, не используя GET запросы. Прошу кривые варианты не писать, которые не используют веб-студии.
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
выглядеть будет https://site.ru/?city=spb/post?id=23

Вы конечно можете в адресную строку браузера любую ересь написать, но тогда и серверную часть придется изобретать, ну чтобы она смогла разобрать эту вашу хитрую строку.
Чтобы не изобретать это для каждого проекта заново придумали стандарты.
https://tools.ietf.org/html/rfc3986

И если вам нужно передать два параметра, то выглядеть оно будет так:
https://site.ru/?city=spb&postid=23

при отправке submit будет отправлять на страницу существующую физически - spb.php затем post.php
Вы конечно можете это сделать, но зачем? Вы действительно хотите создавать физически существующие страницы для каждого города? У меня в текущем проекте их более 10 тысяч, например. Замучался бы создавать.
Можете начать отсюда: Как хранят свои страницы крупные сайты?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Почитайте про .httaccess и mod_rewrite
Ответ написан
Комментировать
Как правило, в фреймворках и CMS уже имеются готовые механизмы. Для общего понимания, рекомендую посмотреть данную статью

maxsite.org/page/routing

(во всё можно не вникать, поймите просто модуль mod_rewrite и что с ним делать)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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