2
在我的CakePHP應用程序我有建立這樣的靜態頁面:CakePHP在路由中使用Regex變量捕獲?
Router::connect(
'/terms',
array('controller' => 'pages', 'action' => 'display', 'terms')
);
這將改寫/terms
到/pages/display/terms
爲了漂亮較短的網址。
現在,如果我想爲我的所有靜態頁面做到這一點,它會得到相當多餘的:自然
/(terms|privacy|about) /pages/display/$1
所以我:
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,你可以做這樣的事情企圖:
Router::connect(
'/(terms|privacy|about)',
array('controller' => 'pages', 'action' => 'display', '$1')
);
它不起作用。有沒有支持這樣的事情,如果是的話,你怎麼做?
我想了解這裏發生了什麼。在第一個參數`/:page`中冒號是什麼意思? – 2011-02-11 20:19:54