遵循此guide但不确定如何在以下方案中参数化我的路线
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
"login" => "site/login",
"sign-up" => "site/sign-up",
"search" => "site/search",
"verify-email" => "site/verify-email",
],
],
这四条规则基本上具有相同的结构:
如果访问Action
控制器中的Site
,那么该网址将只是www.mydomain.com/<action>
我尝试创建规则
'<action:\w+>' => '<site:\w+>/<action:\w+>',
......没有成功的尝试
'<action:(login|sign-up|search|verify-email)>' => 'site/<action:(login|sign-up|search|verify-email)>',
但只有“找不到页面”(#404)错误。
不胜感激任何建议。 感谢。
答案 0 :(得分:1)
'<action:(login|sign-up|search|verify-email)>' => 'site/<action>',
^ ^
| |
pattern route
路由不应包含任何正则表达式模式(如<paramName:\w+>
),您可以使用<paramName>
将param值插入路由,但不能在路由中使用任何正则表达式。