我正在尝试在 YII1 中使用正则表达式创建一个 url。我想为“页面名/用户名”创建网址。我试过这样:'<pagename:([A-Za-z0-9-A-zÀ-ú]+)>/<i:w+>' => 'site/Profile',但它不起作用。页面只是重新加载自己当 url 变得像“页面名/用户名”时,我想显示新页面。
2 回答
富国沪深
TA贡献1790条经验 获得超9个赞
我让它这样工作
'public/<pagename:([A-Za-z0-9-A-zÀ-ú]+)>/<i>' => 'site/Profile'
看到我必须在开始时放置一个“public”才能使其工作,并删除 i 的 +w,我的“站点/配置文件”只是 $_REQUEST 的 print_r;
Array ( [pagename] => pagename [i] => username )
编辑:@rob06的答案好多了,记住把它放在数组“规则”的第一位
'rules' => array(
'<pagename:[\w-]+>/<i:\w+>' => 'site/profile',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
- 2 回答
- 0 关注
- 124 浏览
添加回答
举报
0/150
提交
取消