在 yii2 中参数化路由
Parameterizing Routes in yii2
正在关注此 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",
],
],
这四个规则的结构基本相同:
如果在 Site
控制器中访问 Action
,那么 url 将只是 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)>',
但只得到 'page not found' (#404) 错误。
如有任何建议,我们将不胜感激。
谢谢。
'<action:(login|sign-up|search|verify-email)>' => 'site/<action>',
^ ^
| |
pattern route
路由不应包含任何正则表达式模式(如<paramName:\w+>
),您可以使用<paramName>
向路由插入参数值,但不能在路由中使用任何正则表达式。
正在关注此 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",
],
],
这四个规则的结构基本相同:
如果在 Site
控制器中访问 Action
,那么 url 将只是 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)>',
但只得到 'page not found' (#404) 错误。
如有任何建议,我们将不胜感激。 谢谢。
'<action:(login|sign-up|search|verify-email)>' => 'site/<action>',
^ ^
| |
pattern route
路由不应包含任何正则表达式模式(如<paramName:\w+>
),您可以使用<paramName>
向路由插入参数值,但不能在路由中使用任何正则表达式。