В моем приложении CakePHP у меня есть статические страницы, настроенные так:
Router::connect(
'/terms',
array('controller' => 'pages', 'action' => 'display', 'terms')
);
Это перезапишет /terms
в /pages/display/terms
, чтобы сделать более привлекательные короткие URL.
Теперь, если бы я хотел сделать это для всех моих статических страниц, это было бы довольно избыточно:
Router::connect(
'/terms',
array('controller' => 'pages', 'action' => 'display', 'terms')
);
Router::connect(
'/privacy',
array('controller' => 'pages', 'action' => 'display', 'privacy')
);
Router::connect(
'/about',
array('controller' => 'pages', 'action' => 'display', 'about')
);
С обычным mod_rewrite вы можете сделать что-то вроде этого:
/(terms|privacy|about) /pages/display/$1
Итак, я, естественно, попытался это сделать:
Router::connect(
'/(terms|privacy|about)',
array('controller' => 'pages', 'action' => 'display', '$1')
);
Это не работает. Есть ли такая поддержка, если да, то как ты это делаешь?