How to redirect wordpress blog url cakephp
Cakephp have great routing capability, i was install wordpress blog on my main website root directory. And then i need to move my blog into new folder, i put it on /app/webroot/blog/ because i build new web application on root directory using cakephp.
I use rewriting rule for my wordpress blog. The rule is http://www.balistupa.com/year/month/slug/. I want to redirect into http://www.balistupa.com/blog/year/month/slug/. I don’t want to loose my blog visitors because the blog posting has good ranking on google.
So i do setting on app/config/routes.php and add this line
Router::connect(‘/:year/:month/:slug’, array(‘controller’ => ‘pages’, ‘action’ => ‘redirect_blog’), array(‘pass’ => array(‘year’, ‘month’, ‘slug’), ‘year’ => ‘[0-9]{4}’, ‘month’ => ‘[0-9]{2}’, ‘slug’ => ‘[A-Za-z0-9-]+’));
I add new method redirect_blog on app/controllers/pages_controller.php. The complete code for redirect_blog are like below
function redirect_blog() {
$this->redirect('/blog/'. $this->params['url']['url'], 303);
}
303 is permanent redirection status. Actually i don’t need to pass pass parameter on my routes, but i would like to add there if you need another redirection rule for your blog. You can try to print $this->params to see all parameters passed. On my application $this->params look like this :
Array
(
[year] => 2010
[month] => 08
[slug] => how-to-redirect-appwebrootblog-into-blog-wordpress-cakephp
[named] => Array
(
)
[pass] => Array
(
[0] => 2010
[1] => 08
[2] => how-to-redirect-appwebrootblog-into-blog-wordpress-cakephp
)
[controller] => pages
[action] => redirect_blog
[plugin] =>
[url] => Array
(
[ext] => html
[url] => 2010/08/how-to-redirect-appwebrootblog-into-blog-wordpress-cakephp/
)
[form] => Array
(
)
)
This is how i set cakephp routing for redirect my old blog url into new blog folder url.

