Yii2 UrlManager字符串规则

时间:2019-02-23 02:37:51

标签: yii2 yii2-urlmanager

我正在尝试创建一个简单的规则网址,但无法正常工作。

我想要以下规则:

mysite.com/[username]

mysite.com/kit/page?id=[username]

这可能吗?现在我只有一条规则,但是我也要保持一条规则

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
    '' => 'site/index',
    ],
],

1 个答案:

答案 0 :(得分:2)

如果我正确理解您的意思是,您有一个现有页面mysite.com/kit/page?id=[username],则在地址栏中输入网址mysite.com/[username]时应显示该页面,如果是,则可以更新{{ 1}},如下所示

urlManager

理想情况下,我会使用'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ '/' => 'site/index', '<id:\w+>' => 'kit/page' ] ] 来避免与其他控制器(以某种方式与任何用户名匹配)冲突并使用mysite.com/kit/[username]

注意:'kit/<id:\w+>' => 'kit/page'与任何单词字符(等于\w+)匹配,因此,如果您的用户名可以允许任何其他字符,则可能需要更新pattern,允许[a-zA-Z0-9_]的示例,您应将规则更改为-