我正在尝试创建一个简单的规则网址,但无法正常工作。
我想要以下规则:
mysite.com/[username]
去
mysite.com/kit/page?id=[username]
这可能吗?现在我只有一条规则,但是我也要保持一条规则
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'' => 'site/index',
],
],
答案 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_]
的示例,您应将规则更改为-