在文件config main.php中:
'/my-acc/<slug:.*>' => 'user/profile/<slug>',
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
但是,当我创建URL时:
Yii::app()->controller->createUrl('user/profile', array('slug'=>'acc1');
返回结果mydomain/user/profile?slug=acc1
,不包含mydomain/my-acc/acc1
。
有人能帮助我吗?
答案 0 :(得分:0)
我认为这应该有效:
'my-acc/<slug>' => 'user/profile',
答案 1 :(得分:0)
在urlManager rules
'my-acc/<slug:[a-zA-Z0-9-_]+>' => 'user/profile',
根据需要修改正则表达式。
仅允许数字
'my-acc/<slug:\d+>' => 'user/profile',
允许字符串(不含 - ,_)
'my-acc/<slug:\w+>' => 'user/profile',
答案 2 :(得分:0)
如果以上两个答案有效,那么忽略,其他明智的尝试这个,
您是否在此路径中添加了.htaccess文件? ,移动根目录(.index.php文件存在)的.htacess文件
www
- index.php
- .htaccess
并在main.php文件中
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
...,
),