CakePhp中的好seo URL

时间:2012-11-07 11:44:31

标签: url cakephp url-rewriting url-routing

我正在使用CakePhp开发网站,我接下来会遇到网址问题。

在我的类别和子类别页面的应用中,我需要有下一个网址:

  • /类别的蛞蝓/
  • /类别的蛞蝓/子类别段塞

问题是这种网址格式与任何控制器/操作网址匹配,我不能只对所有类别/子类别网址进行硬编码,因为它们有很多,而且它们是动态。

如何解决这个问题?

修改

我发现了这种方法http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp,但是可能存在一些不需要在db,cache等中进行额外检查的东西?

1 个答案:

答案 0 :(得分:1)

最快/最简单的方式:

// routes.php
Router::connect('/category/:category/:subcategory', 
                     array('controller'=>'categories', 'action'=>'view'), 
                     array('pass' => array('category', 'subcategory')));

// CategoryController/view
public function view($category = 'default', $subcategory = null) {
    // your logic here
}

// links
$this->Html->link('View PHP >> Tutorials', array('action'=>'view', 
                       'category'=>'php', 'subcategory'=>'tutorials')); 

// output
<a href="/category/php/tutorials">View PHP >> Tutorials</a>

通过在开始时介绍/category/,您不必担心为每个其他控制器/操作提供路由(否则每个请求都会被发送到您的类别控制器。