Как реализовано?
При заходе на сайт браузер передаёт по сети серверу порцию текстовой информации (называемой HTTP запросом), в которой, помимо прочего, содержатся строки вида:GET /PAGE/ HTTP/1.0
Host: www.website.net
А программа-сервер, когда получает такую порцию информации, может либо попытаться сопоставить переданную строку ("/PAGE/") с существующими файлами на сервере (и вернуть браузеру содержимое найденного файла для отображения), либо передать эту порцию информации в другую программу (например, PHP) и вернуть браузеру то, что вернёт эта программа.
Формально это называется ЧПУ, и крайне не рекомендую использовать для его реализации mod_rewrite, лучше реализовать раутер на уровне php, и тогда будет меньше проблем с переносом, скажем, с apache на nginx. Просто все запросы редиректить на index.php, а дальше пусть php разруливает.
И начинайте уже пользоваться готовыми штуками, есть же микро-фреймворки и прочее, где все это уже давно реализовано...