Я пытаюсь сделать то же самое, что и этот сайт, stackoverflow, сделать с их URL.
CakePHP работает так: сайт / контроллер / действие /
Я хочу настроить маршрутизацию для достижения этой цели:
myWebSite.com/questions/(question_id)/(вопрос)/
например: myWebSite.com/questions/12874722/cakephp-routing-controller-alias /
Я не понял, как сделать эту смелую часть URL.
В вашем Config / rout.php
Router::connect('/questions/*', array('controller' => 'questions', 'action' => 'view'));
В Controller / QuestionsController.php
просмотреть действие получить идентификатор вопроса как
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
}
Других решений пока нет …