Цель PHP - не обрабатывать URL-адреса с различным форматом.Об этом должна быть заботливая логика приложения.
Вы упомянули, что в данный момент не используете какой-либо фреймворк, поэтому я хотел бы предложить вам включить Silex ,это микро-фреймворк, основанный на компонентах Symfony 2.
Вот пример 'Hello World':
require_once __DIR__.'/silex.phar';
$app = new Silex\Application();
$app->get('/hello/{name}', function($name) use($app) {
return 'Hello '.$app->escape($name);
});
$app->run();
Вы упомянули, что в настоящее время используете PHP 5.2.Silex использует пространства имен, которые доступны в PHP 5.3 и т. Д., Поэтому вам придется обновить PHP, чтобы использовать этот подход.