Прежде всего: это невозможно только с PHP (по крайней мере, не те формы URL, о которых я думаю, когда читаю чистый URL). Веб-сервер должен знать, как обрабатывать запросы и какие запросы должны передаваться в ваш PHP-скрипт. В противном случае вы, вероятно, просто получите ответ 404.
Поскольку поведение веб-сервера по умолчанию заключается в том, чтобы просто взять запрошенный путь URL-адреса и попытаться сопоставить его с существующим файлом ниже корня документа. Если соответствующий файл был найден, либо содержимое файла передается обратно клиенту, либо - как в случае файлов PHP - содержимое файла передается соответствующему интерпретатору, а возвращенные данные передаются обратно клиенту. И если файл не был найден, он отвечает кодом состояния 404. Поэтому в какой-то момент вам необходимо настроить веб-сервер.
Но после этого, когда запрос был передан в ваш PHP-скрипт, вы наверняка можете использовать только PHP для создания чистых URL-адресов. И я бы предпочел сделать это с PHP, чем с утилитами веб-сервера. Потому что ваше PHP-приложение должно лучше знать, как обрабатывать запрошенный URL.
В PHP вся необходимая информация находится в переменной $_SERVER
:
$_SERVER['REQUEST_URI']
содержит запрошенный URL-путь и запрос (его можно проанализировать с помощью parse_url
) и
$_SERVER['PATH_INFO']
содержит PATH_INFO , если вы используете его (см. директиву Apache AcceptPathInfo
).