Спасибо за Oldskool за готовность помочь. Однако у меня были проблемы с его реализацией. Я решил избежать использования .htaccess или маршрутов и решил реализовать функцию в app_controller, которая будет обрабатывать ее для меня так:
В моем app_controller's
beforeFilter()
я добавил следующее:
//Check old url style as in http://www.bravanews.com/?c=123&a=2345 for redirection
//to the correct new url style as in http://www.bravanews.com/noticia/news-title-using-slug
$this->CheckOldUrl();
Тогда в моем app_controller.php
я создал следующую функцию:
function CheckOldUrl(){
preg_match("/\?c=(\w+)\&a=(\w+)/i", $_SERVER['REQUEST_URI'], $matches);
if(!$matches == NULL){
$this->redirect('/noticias/articleRedirect/'.$matches[2]);
}
}
Если старый URL, указанная выше функция перейдет к функции articleRedirect, которая затем перенаправит на нужный документ
// Function in articles controller to redirect old site's article url to
// new websites url format
function articleRedirect($article_id = NULL){
$this->Article->recursive = -1;
$slug = $this->Article->findById($article_id);
if($slug == NULL){
$this->Session->setFlash('Article not found');
$this->redirect('/noticias');
}else{
$this->redirect('/noticia/'.$slug['Article']['slug']);
}
}
Вероятно, это не лучший способ обрабатывать подобные вещи, так как он вызывает эту функцию каждый раз, когда к моему сайту обращаются, но он работает для меня без особых проблем.