繁体   English   中英

YII友好SEO网址

[英]YII friendly SEO url

我正在为这个问题而苦苦挣扎,没有找到合适的答案。

我希望my_site / user / 1成为my_site / user / user_name

我的urlManager看起来像这样:

'urlManager' => array(
  'urlFormat' => 'path',
  'rules' => array(
    'user/<username:\w+>'=>'user/view',
    '<controller:\w+>/<id:\d+>'=>'<controller>/view',
    '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
    '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
  ),
  'showScriptName' => false,
),

用户控制器:

public function actionView($username)
{
  $this->render('view', array(
    'model' => $this->loadModel($username),
  ));
}

当我点击/ user / admin时,它会将我重定向到actionView而不是从我的控制器重定向到actionAdmin,并且我有多个此类操作,例如创建,删除等。 我如何避免这种情况? 还有其他选择吗?

谢谢。

urlManager尝试将url与控制器和动作进行匹配。 第一部分

'user/<username:\w+>'=>'user/view',

已与用户控制器匹配,并在下一部分匹配它以查找包含单词的任何字符串,然后将用户发送给用户/视图

我建议将user/<username>更改为manage-user/<username>my-account/<username> ,类似这样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM