CakePHP分页 - 如何从url中删除“page:”以获得更好的seo /更清晰的URL

时间:2009-07-03 09:26:41

标签: php cakephp seo pagination paging

当我使用CakePHP Paging时,我得到一个这样的URL:

http://example.com/php/page:2

我需要在控制器,视图和routes.php中更改以创建这样的工作URL:

http://example.com/php/2

3 个答案:

答案 0 :(得分:2)

哦,是的,现在我看到了你的问题。那你可以做点什么:

function index($page){
  $this->paginate = array('page'=>$page);
  $this->set('stuff', $this->paginate('YourControllerName'));
}

请点击此处了解更多详情: http://bakery.cakephp.org/articles/view/basic-pagination-overview-3

此外,当然你应该做一些验证,页面是一个实际的数字,页面甚至会存在,但这是我认为的基础。

关于路线和观点,我从来没有尝试,但看看蛋糕组上的这些帖子,我认为他们有类似你的问题。

http://www.mail-archive.com/cake-php@googlegroups.com/msg45878.html

答案 1 :(得分:1)

答案 2 :(得分:0)

我的猜测是,自动化并不容易,你肯定需要做一些调整。

首先,你可能需要创建自己的paginator helper并继承默认的paginator helper。通过代码的外观,你需要覆盖PaginatorHelper :: __ pagingLink()中的链接生成代码,但可能是number()和prev()等...因为它们都与页面参数创建链接。

也许更好的方法是覆盖你的AppHelper :: url(),检查那里的“page”参数并修改url以满足你的需求。

但是,我没有尝试过这一切,所以没有保证......