Это на самом деле не имеет ничего общего с MVC, и гораздо больше связано с хорошим URL.
Вы ищете URL, которые являются (а) понятными с точки зрения пользователя и (б)которые дают подсказку вашему приложению о том, как оно должно обрабатываться.
В этом случае я бы немного изменил ваши URL, чтобы вместо:
http://www.groupon.com/las-vegas/
http://www.groupon.com/orlando/
Вы могли быесть URL-адреса, которые выглядят следующим образом:
http://www.groupon.com/destinations/las-vegas/
http://www.groupon.com/destinations/orlando/
Бит в начале - /destinations/
- может использоваться вашим кодом маршрутизации URL-адреса, чтобы решить, какой контроллер должен с ним работать.Если ваш код маршрутизации основан на URL, у вас может быть такой массив:
$routes = array(
'/destinations/' => 'on_destination_list',
'/destinations/(.+)' => 'on_destination',
'/(.*)' => 'on_page');
// Basic URI routing code based off of REQUEST_URI
foreach ($pattern => $func) {
if (preg_match("`^$pattern$`", $_SERVER['REQUEST_URI'], $placeholders)) {
array_shift($placeholders);
call_user_func($func, $placeholders);
}
}
Имейте в виду, что я написал этот код маршрутизации на моей голове, и он может быть не совсем правильным.Это должно дать вам суть того, что вам нужно сделать.
Выполнение таких действий дает дополнительное преимущество: если кто-то перейдет на http://www.groupon.com/destinations/
, у вас будет возможность показать список пунктов назначения.