【问题标题】:Yii URL ManagementYii 网址管理
【发布时间】:2013-03-22 19:29:46
【问题描述】:

我有一个需要特定使用 url 的用例。我希望用户拥有自己的页面,并且 url 的方式应该便于他们记住他们的页面。

我正在考虑制作网址 DOMAIN.COM/USERNAME

我怎样才能做到这一点?我可能应该做一个网址管理器?我怎样才能使“正常”控制器仍然可以工作?

【问题讨论】:

  • 如果您不能再使用 URL 访问它们,“普通”控制器如何仍然工作?您打算如何访问它们?
  • 这个想法是首先搜索 USERNAME 部分是用户名,还是实际存在的控制器。如果是现有控制器 => 将其转发给控制器,否则呈现用户页面
  • 用户和控制器的命名冲突怎么办?或者,如果您有 SiteController,您是否只是不允许用户选择“站点”之类的名称?
  • 是的,这就是这个想法是的:-)。并且使用提供的解决方案 soju,如果用户的名称为 site,则该用户的页面将无法正常工作,因为站点 URL 规则将是优先的 :-)

标签: url yii


【解决方案1】:

好吧,你应该阅读这个:http://www.yiiframework.com/doc/guide/1.1/en/topics.url

Yii URL 管理非常方便,例如:

'urlManager'=>array(
  .....
  'rules'=>array(
    .....
    // AFTER other rules
    '<userName:.+>' => 'user/view',

Yii 将使用第一个匹配规则,因此您必须在此之前为其他控制器定义规则。

在你的控制器中:

public function actionView($userName)
{
  // do what you want
}

【讨论】:

    猜你喜欢
    • 2012-08-03
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 2017-05-22
    相关资源
    最近更新 更多