Как реализовано?

Всем привет. Хотелось бы задать парочку вопросов. Часто вижу, что на сайтах используют пути www.website.net/PAGE/ . При попытке зайти на www.website.net/PAGE/index.php - неудачи. Выходит это .htaccess и подмены? Также вижу эту конструкцию в таком виде www.website.net/PAGE, без слеша на конце. Подскажите пожалуйста реализацию этих двух вариантов. Просто в голове не укладывается, ведь на многих сайтах PAGE - это имя пользователя, vk.com, например. Получается, что это как-то связано с БД? Очень прошу знающих людей разъяснить и показать примеры.
  • Вопрос задан
  • 2490 просмотров
Пригласить эксперта
Ответы на вопрос 3
@m-haritonov
При заходе на сайт браузер передаёт по сети серверу порцию текстовой информации (называемой HTTP запросом), в которой, помимо прочего, содержатся строки вида:
GET /PAGE/ HTTP/1.0
Host: www.website.net

А программа-сервер, когда получает такую порцию информации, может либо попытаться сопоставить переданную строку ("/PAGE/") с существующими файлами на сервере (и вернуть браузеру содержимое найденного файла для отображения), либо передать эту порцию информации в другую программу (например, PHP) и вернуть браузеру то, что вернёт эта программа.
Ответ написан
Комментировать
@WhoMe
Дело в том, что URI не обязан проецироваться на файловую систему, т.е на www.website.net не обязательно должна быть директория PAGE, просто такое поведение установлено по умолчанию. Погуглите по слову mod_rewrite
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Формально это называется ЧПУ, и крайне не рекомендую использовать для его реализации mod_rewrite, лучше реализовать раутер на уровне php, и тогда будет меньше проблем с переносом, скажем, с apache на nginx. Просто все запросы редиректить на index.php, а дальше пусть php разруливает.

И начинайте уже пользоваться готовыми штуками, есть же микро-фреймворки и прочее, где все это уже давно реализовано...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы