【问题标题】:Dynamic user friendly url in cakephpcakephp 中的动态用户友好 url
【发布时间】:2013-06-12 14:21:37
【问题描述】:

我知道如何使用路由在 cakephp 中创建用户友好的 url。而且我也知道如何在 .htaccess 中进行 url 重写。但我有一个要求,我必须使用用户名及其 id 加密到其自定义 url。在控制器方法中,我只传递 id 作为它的参数。并根据该 ID 向我显示该用户的个人资料页面。

我有这样的网址。

www.example.com/profile/<encrypted_id>

但我想要这样

  www.example.com/<member name associate to that id>/<encrypted_id>

每天有 100 名用户在注册,所以我必须让它动态化。有什么建议或方法可以做到。

【问题讨论】:

  • 到目前为止,我已经在路线上完成了这项工作。我在那里运行了一个 sql 查询并检索所有记录并在那里建立动态用户友好链接。但我认为这不是一个好方法,因为当我的成员表变得很重时,查询将花费大量时间。
  • 您确定不想要这种格式:www.example.com/profile// ?

标签: php cakephp


【解决方案1】:

创建路线

Router::connect('/:username/*', array('controller' => '...', 'action' => '...'), array('pass' => array('username'))));

读取控制器中的值:

function foobar($id = null) {
    debug($this->request->username);
    debug($id);
}

【讨论】:

  • 您还可以为您的:username 令牌添加一个正则表达式;如果您对您的用户名施加了限制。
猜你喜欢
  • 2013-03-15
  • 2010-12-24
  • 1970-01-01
  • 2012-07-22
  • 2016-05-17
  • 2016-03-21
  • 2011-02-24
  • 2012-07-05
  • 2012-09-25
相关资源
最近更新 更多