我一直在寻找如何在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的信息?这是我用它的情况吗?
答案 0 :(得分:1)
首先为每个帖子创建一个独特的slug然后slug在浏览器中替换为title。在替换title之后你的路由
Router::connect('/posts/view/:slug', array('controller' => 'posts', 'action' => 'view'), array('pass' => array('slug')));
因为如果我们不使用id,我们需要每个帖子的唯一标识符。