.htaccess CakePHP 301将旧URL重定向到友好URL

.htaccess CakePHP 301将旧URL重定向到友好URL,.htaccess,cakephp,redirect,routes,.htaccess,Cakephp,Redirect,Routes,我有2个地址的同一页旧链接和友好的网址链接,都工作得很好!然而,我需要通过301:/instrumenty/show_id/:id将旧链接重定向到/instrumenty/show/:id-:slug,因为SEO我从数据库的2个字段中获取:slug参数 我可以为.htaccess中的每一页执行一行操作。。。但这不是一个好主意,我有1000+这些页面。 我在routes.php中尝试了类似的方法,但我不知道如何从数据库中获取slug 2字段 Router::redirect( '/inst

我有2个地址的同一页旧链接和友好的网址链接,都工作得很好!然而,我需要通过301:/instrumenty/show_id/:id将旧链接重定向到/instrumenty/show/:id-:slug,因为SEO我从数据库的2个字段中获取:slug参数

我可以为.htaccess中的每一页执行一行操作。。。但这不是一个好主意,我有1000+这些页面。 我在routes.php中尝试了类似的方法,但我不知道如何从数据库中获取slug 2字段

Router::redirect(
    '/instrumenty/show/:id-:slug', 
    array('controller' => 'instruments', 'action' => 'show_id' /* :id and :slug here? how? */),
    array('pass' => array('id','slug'), 'status' => '301')       
);

您不需要访问数据库并在每个重定向链接中插入:slug。如果您只是为了搜索引擎优化而需要此选项,请将“/instrumenty/show_id/:id”重定向到“/instruments/show/:id”,并插入到每个HTML页面中:

echo "<link rel='canonical' href='/instruments/show/$id-$slug' />";

Try.htaccess,meeene1000行这样的代码:重定向301/instrumenty/show_id/503/instrumenty/show/503我伟大的标题slug真的吗?可以用更好的方法吗?
Router::redirect(
    '/instrumenty/show_id/*',
    array('controller' => 'instruments', 'action' => 'shows'),
    array('persist' => true)
);