在cakephp中重写URL

时间:2014-07-22 23:38:31

标签: cakephp url-rewriting cakephp-2.0

我一直在寻找如何在cakephp中重写URL,我想我已经弄明白了,但我不知道在这种情况下如何重写网址。

我目前有 - www.example.com/posts/view/1

我希望用帖子的名称替换帖子的结尾ID。

我想要 - www.example.com/posts/view/$posts['Post'] ['title']

我以为我可以这样做:

Router::connect('/posts/view/:title', array('controller' => 'posts', 'action' => 'view'), array('pass' => array('title')));

原来我不能,我怎么能重写这个网址?我还读过关于使用slug的信息?这是我用它的情况吗?

1 个答案:

答案 0 :(得分:1)

首先为每个帖子创建一个独特的slug然后slug在浏览器中替换为title。在替换title之后你的路由

Router::connect('/posts/view/:slug', array('controller' => 'posts', 'action' => 'view'), array('pass' => array('slug')));

因为如果我们不使用id,我们需要每个帖子的唯一标识符。