0
CakePHP 2.5路由可能沒有前綴嗎?不帶前綴的CakePHP路由
我們正在嘗試實現<domain>/<username>
類型的路由,其中路由到標準的Cake url,如<domain>/users/view/XX
。類似於Twitter的URL結構,儘管我不確定零前綴路由是否可能。如果是這樣,它是否也會打破其他模型的標準Cake路由?
<domain>/users/view/1
工作正常。
但是我們想知道我可以添加到routes.php文件這樣的路線,略微縮短的URL,
Router::connect(
'/u/*',
array('controller' => 'users', 'action' => 'view_by_slug')
);
如果能夠更加縮短,實現了<domain>/<username>
類型前綴。
編輯:爲了完整這裏是當前view_by_slug()
控制器
public function view_by_slug($slug = null) {
$user = $this->User->findBySlug($slug);
debug($user);
if (!$user) {
throw new NotFoundException(__('Invalid user'));
}
}
Users.slug在數據庫中一個varchar(255)
Router::connect(
'/*', array('controller' => 'users', 'action' => 'view_by_slug')
);
似乎工作,但它會禁用默認蛋糕路由。
如果你不使用等環節的domain.com/account,domain.com/messages好主意,domain.com /登錄等。如果你這樣做,你需要在註冊時指定用戶不能使用某些用戶名,這可能是一個很長的名單。 HelloSpeakman的答案應該可以工作。 – bowlerae 2014-10-22 14:08:13