我要做的是在Yii中为URL管理创建自定义规则。
一般网址规则在main.php中设置
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<controller:\w+>'=>'<controller>/index',
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
.htaccess文件也设置为
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
所以我有
形式的网址本地/ CP / XYZ /创建
现在我有一个自定义控制器,当前的URL就像
本地/ CP / XYZ /创建/ ABC
我想要的是
本地/ CP / ABC /创建
答案 0 :(得分:1)
假设'local / cp'是你的应用程序url,'xyz'是控制器而'abc'是某种变量(我称之为myVar
),你需要一个像这样的规则:
'<myVar:\w+>/<action:\w+>'=>'xyz/<action>',
或
'<myVar:\w+>/create'=>'xyz/create',