蛋糕php好看的网址路由

时间:2014-02-10 10:03:04

标签: php cakephp

我有一个带URL的PostController:http://cakephp.local/posts/view/20 现在,我想重写它,例如:http://cakephp.local/posts/view/some_text_contents.html

with:some_text_contents是Post Model的标题字段(在表格中)。

那么,我该怎么办? 任何人都有这方面的经验,请给我一个帮助。非常感谢!!!

2 个答案:

答案 0 :(得分:1)

要重写此类网址,您需要将标题作为视图方法的参数传递(如hizbul25所做),而不是记录ID。

请参阅此主题:CakePHP: Use post title as the slug for view method

例如,我建议使用名为slug的字段来保存没有空格,重音符和特殊字符的标题,并将其用作数据库中的唯一键。

答案 1 :(得分:0)

function view($title) {
    $this->Post->title = $title;
    $this->set('post', $this->Post->read());
}

这会让你: cakephp.local /帖/视图/ some_text_contents

使用以下方式重写.htaccess文件:

RewriteEngine On
RewriteCond %{REQUEST_URI} ! \.html$
RewriteCond %{REQUEST_URI} ! /$
RewriteRule ^(.*)$ $1.html