Сервер может проанализировать строку запроса клиента, чтобы разбить ресурс. Хитрость заключается в том, чтобы перенаправить все URL-адреса для обработки одним PHP-скриптом. Типичной ситуацией может быть создание файла .htaccess для перенаправления всех URL-адресов. Я украл этот .htaccess из Recess Framework в качестве примера.
.htaccess:
Options FollowSymLinks
RewriteEngine On
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ bootstrap.php [QSA,L]
Поместите этот файл в ваш веб-каталог. Если у вас правильно настроен mod_rewrite (при необходимости обратитесь к Google за инструкциями), все веб-запросы будут перенаправлены в файл bootstrap.php. Теперь в вашем файле bootstrap.php поместите следующий код:
echo "Processing: " . $_SERVER['REQUEST_URI']."<br>";
$resources = explode('/',$_SERVER['REQUEST_URI']);
var_dump($resources);
/**
* $resource now contains the pieces of the client's requested URL.
* If we know what resource the client wants, we pass the parameter
* on to that resource's handler.
*/
if( $resources[1] == 'files' ) {
echo handleFiles($resources[2]);
} else {
echo "Unknown resource!<br>";
}
function handleFiles($name) {
if(file_exists($filename.'.mpeg')) {
$result = true;
} else {
$result = intval(false);
}
return $result;
}
То, что мы здесь делаем, разбивает URL на части. Например, клиент может захотеть получить доступ к http://localhost/files/mySoundFile. Мы разбиваем URL на части, «файлы» и «mySoundFile». Мы можем посмотреть на части, чтобы определить, как обработать запрос.
Это очень краткий пример того, как разбить URL в PHP. Я настоятельно рекомендую использовать фреймворк (например, http://www.recessframework.com или Zend's REST). Также найдите REST php в Google, чтобы получить несколько хороших указателей (http://rest.elkstein.org/2008/02/using-rest-in-php.html). Удачи!.