Cakephp分页更改URL,使它们对SEO更友好


cakephp pagination change urls to make them more seo friendly

我正在使用以下语法:

<ul>
<?php echo $this->Paginator->prev($this->Html->image('arrow_left.png', array('border' => 0, 'tag'=>'li')), array('escape'=>false, 'tag'=>'li')); ?>
<?php echo $this->Paginator->numbers(array('separator' => '', 'tag'=>'li')); ?>
<?php echo $this->Paginator->next($this->Html->image('arrow_right.png', array('border' => 0, 'tag'=>'li')), array('escape'=>false, 'tag'=>'li')); ?>
</ul>

这为我创建了这样的链接

<li>
<a href="/mycontrollername/search/cat:1/page:4?url=slugged_url">4</a>

有什么方法可以摆脱 url 中的控制器和操作,而是使用 url 参数?

我的意思是,而不是获得这样的链接

http://domain.com/mycontrollername/search/cat:1/page:2?url=slugged_url

我想得到类似的东西

http://domain.com/slugged_url/cat:1/page:2

这可能吗?如果是,如何?

我对每页的结果有同样的问题:

<?php
$sortDir = ($this->Paginator->sortDir() == 'asc') ? $this->Paginator->sortDir(): 'desc';
$text = ($sortDir == 'asc')? __('aufsteigend', true):__('absteigend', true);
echo $this->Paginator->sort('OBJ_PREIS', $text, $options = array('escape' => false, 'direction'=>'DESC', 'class' => 'asc'))`;
?>

我也可以更改那里的网址吗?

请指教!

谢谢!!

这可以使用路由来实现。路由会将 URL 重写为"漂亮"的内容。

查看官方的 CakePHP 书籍。它有一个完整的章节,只是关于路由。

这本书提供了大量示例,说明了您可以使用路线执行的不同操作。