【发布时间】:2011-06-25 19:04:52
【问题描述】:
在我的 CakePHP 应用程序中,我有这样设置的静态页面:
Router::connect(
'/terms',
array('controller' => 'pages', 'action' => 'display', 'terms')
);
这会将/terms 重写为/pages/display/terms 以使网址更短。
现在,如果我想对我所有的静态页面都这样做,那就太多余了:
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')
);
它不起作用。有没有支持这样的东西,如果有,你是怎么做的?
【问题讨论】:
标签: cakephp mod-rewrite routes cakephp-1.3