I'll refer to the post table.
1. Create a field called 'slug' (must be UNIQUE and NOT NULL) in the post table.
2. Download and use sluggable behavior to create post slug! Follow instructions step-by-step. It works perfectly.
3. Define routing rules in config/router.php file to display SEO friendly urls.
Router::connect(
'/posts/:slug',
array(
'controller' => 'posts',
'action' => 'view'
),
array(
'slug' => '[-a-z0-9]+',
'pass' => array('slug')
)
);
4. In posts_controller.php view() function modify query,
function view($slug = null)
{
if (empty($slug))
{
// redirect ...
}
$data = $this->Post->findBySlug($slug) ;
}
You you should be able to access urls of the form:
http://example.com/your-seo-friendly-post-url/
Hope it helps someone.
No comments:
Post a Comment