Cakephp路由控制器别名

Cakephp路由控制器别名,php,cakephp,cakephp-routing,Php,Cakephp,Cakephp Routing,我正试图做这个网站一样,stackoverflow,做他们的网址 CakePHP的工作原理如下:网站/控制器/操作/ 我想配置路由以实现这一点: myWebSite.com/questions/(疑问号)/(疑问号)/ 例如:myWebSite.com/questions/12874722/cakephp路由控制器别名/ 我不知道如何在Config/routes.php中实现URL的这个粗体部分。 Router::connect('/questions/*', array('controller

我正试图做这个网站一样,stackoverflow,做他们的网址

CakePHP的工作原理如下:网站/控制器/操作/

我想配置路由以实现这一点:

myWebSite.com/questions/(疑问号)/(疑问号)/

例如:myWebSite.com/questions/12874722/cakephp路由控制器别名/


我不知道如何在Config/routes.php中实现URL的这个粗体部分。

Router::connect('/questions/*', array('controller' => 'questions', 'action' => 'view'));
在Controller/QuestionsController.php中

查看操作获取问题id为

public function view() {
    $question_id = isset($this->request->params['pass'][0]) ? $this->request->params['pass'][0] : "";
    $question = isset($this->request->params['pass'][1]) ? $this->request->params['pass'][1] : "";

    if( empty($question_id) ) {
        throw new NotFoundException('Could not find that question');
    }

    // if $question is empty then get slug from database and redirect to /question_id/question


    // Get question details and set
}

这与“控制器别名”有什么关系?粗体部分是问题的标题。而实际的问题到底是什么?你读过吗?ps,请始终提及您的确切CakePHP版本,并相应地标记您的问题。请注意,SO实际上忽略了问题标题,您可以将其放在那里,但如果您弄错了,它将重定向(重要的是问题ID)。实际问题是我不知道如何将其放在那里,URL中的问题标题。有可插入的行为检查它们,也将插入保存到数据库中,以将用户重定向到正确的URL,就像@DavidG@DavidG网站中的一种常见模式。重定向到
(SLUG!=URI_段[N])