Разные фреймворки веб-разработки и веб-серверы делают это по-разному, но наиболее распространенным, вероятно, является использование mod_rewrite с apache.По сути, веб-сервер отправляет запрос на динамический язык сценариев (например, PHP), переписанный таким образом, что сценарию не нужно знать, как выглядел исходный URI запроса, а браузеру клиента не нужно знать, чтоскрипт действительно обработал запрос.
Например, вы часто будете видеть:
http://something.com/123/
Это запрос на /123
, который Apache может переписать как запрос/my_script.php?id=123
в зависимости от того, как пользователь настроил mod_rewrite.
(пример. htaccess)
# if the request is for a file or directory that
# does not actually exist, serve index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?url=$1